¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Data; |
| | | using System.IO; |
| | | using DevExpress.XtraEditors; |
| | | using FastReport; |
| | | using Gs.DevApp.ToolBox; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | |
| | | namespace Gs.DevApp.DevFrm.Rpt |
| | | { |
| | | public partial class RptPreview : XtraForm |
| | | { |
| | | private readonly string _rptParameter; |
| | | |
| | | public RptPreview(string rptParameter) |
| | | { |
| | | _rptParameter = rptParameter; |
| | | InitializeComponent(); |
| | | Text = _rptParameter + "æ¥è¡¨æ¥çï¼"; |
| | | getRptData(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è¯»åæ¥è¡¨æ°æ® |
| | | /// </summary> |
| | | private void getRptData() |
| | | { |
| | | var _obj = new |
| | | { |
| | | rptParameter = _rptParameter |
| | | }; |
| | | try |
| | | { |
| | | var strJson = UtilityHelper.HttpPost("", "Report/GetRptData", |
| | | JsonConvert.SerializeObject(_obj)); |
| | | var _job = JObject.Parse(strJson); |
| | | var rtnCode = _job["rtnCode"].ToString(); |
| | | if (int.Parse(rtnCode) > 0) |
| | | { |
| | | //æ¨¡æ¿ |
| | | var report = new Report(); |
| | | var buffer = (byte[])_job["rtnData"]["reportTemplateData"]; |
| | | using (var Stream = new MemoryStream(buffer)) |
| | | { |
| | | report.Load(Stream); |
| | | } |
| | | |
| | | //主表 |
| | | var array = new JArray(); |
| | | foreach (var a in _job["rtnData"]["zb"]) array.Add(a); |
| | | var _zb = |
| | | JsonConvert.DeserializeObject<DataTable>( |
| | | array.ToString()); |
| | | _zb.TableName = "zb"; |
| | | //æç»è¡¨1 |
| | | var array1 = new JArray(); |
| | | foreach (var a in _job["rtnData"]["mx1"]) array1.Add(a); |
| | | var _mx1 = |
| | | JsonConvert.DeserializeObject<DataTable>( |
| | | array1.ToString()); |
| | | _mx1.TableName = "mx1"; |
| | | //æç»è¡¨2 |
| | | var array2 = new JArray(); |
| | | foreach (var a in _job["rtnData"]["mx2"]) array1.Add(a); |
| | | var _mx2 = |
| | | JsonConvert.DeserializeObject<DataTable>( |
| | | array2.ToString()); |
| | | _mx2.TableName = "mx2"; |
| | | //å å°æ°æ®éä¸ |
| | | var ds = new DataSet(); |
| | | ds.Tables.Add(_zb); |
| | | ds.Tables.Add(_mx1); |
| | | ds.Tables.Add(_mx2); |
| | | report.RegisterData(ds); |
| | | report.Preview = previewControl1; |
| | | report.Prepare(); |
| | | report.ShowPrepared(); |
| | | } |
| | | else |
| | | { |
| | | MsgHelper.Warning("æç¤ºï¼" + _job["rtnMsg"]); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MsgHelper.Warning("æç¤ºï¼" + ex.Message); |
| | | } |
| | | } |
| | | } |
| | | } |