¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Data; |
| | | using System.IO; |
| | | using DevExpress.Utils.VisualEffects; |
| | | 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; |
| | | private readonly string _rptGuid; |
| | | public RptPreview(string strGuid, string rptParameter) |
| | | { |
| | | _rptParameter = rptParameter; |
| | | _rptGuid = strGuid; |
| | | InitializeComponent(); |
| | | Text = _rptParameter + "æ¥è¡¨æ¥çï¼"; |
| | | getRptData(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è¯»åæ¥è¡¨æ°æ® |
| | | /// </summary> |
| | | private void getRptData() |
| | | { |
| | | var _obj = new |
| | | { |
| | | rptParameter = _rptParameter, |
| | | guid = _rptGuid, |
| | | isDesign = 0 |
| | | }; |
| | | 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 FastReport.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"]) array2.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"]); |
| | | this.Close(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MsgHelper.Warning("æç¤ºï¼" + ex.Message); |
| | | } |
| | | } |
| | | } |
| | | } |