| | |
| | | using Gs.DevApp.Entity; |
| | | using Gs.DevApp.ToolBox; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using System; |
| | | using System.Data; |
| | | using System.Drawing; |
| | | using System.IO; |
| | | using System.Windows.Forms; |
| | | |
| | | |
| | |
| | | public UcBtnPrint() |
| | | { |
| | | InitializeComponent(); |
| | | //预览打印 |
| | | this.btnPrint.Click += (s, e) => |
| | | { |
| | | if (btnPrintClick != null) |
| | |
| | | MsgHelper.ShowError("没有指定报表参数,请联系技术开发人员!"); |
| | | return; |
| | | } |
| | | #region 如果是客户的 |
| | | #region 如果是客户的后盖码 |
| | | if (rptParameter.Contains("rpt_hgm")) |
| | | { |
| | | var _obj = new |
| | |
| | | { } |
| | | } |
| | | #endregion |
| | | |
| | | _print(); |
| | | |
| | | }; |
| | | //批量操作 |
| | | this.btnAll.Click += (s, e) => |
| | | { |
| | | if (btnAllClick != null) |
| | | btnAllClick(this, e); |
| | | else |
| | | return; |
| | | }; |
| | | //直接打印 |
| | | this.btnZhiJie.Click += (s, e) => |
| | | { |
| | | if (btnZhiJieClick != null) |
| | | btnZhiJieClick(this, e); |
| | | else |
| | | return; |
| | | if (rptParameter == "return false") |
| | | return; |
| | | if (string.IsNullOrEmpty(rptParameter)) |
| | | { |
| | | MsgHelper.ShowError("没有指定报表参数,请联系技术开发人员!"); |
| | | return; |
| | | } |
| | | var _obj = new |
| | | { |
| | | rptParameter = rptParameter, |
| | | guid = guidKey, |
| | | 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.Print(); |
| | | // report.ShowPrepared(); |
| | | } |
| | | else |
| | | { |
| | | MsgHelper.ShowError("提示:" + _job["rtnMsg"]); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MsgHelper.ShowError("提示:" + ex.Message); |
| | | } |
| | | }; |
| | | } |
| | | /// <summary> |
| | |
| | | /// 批量操作 |
| | | /// </summary> |
| | | public event EventHandler btnAllClick; |
| | | |
| | | /// <summary> |
| | | /// 直接打印 |
| | | /// </summary> |
| | | public event EventHandler btnZhiJieClick; |
| | | |
| | | |
| | | private bool _ckRptService() |
| | | { |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// 预览打印 |
| | | /// </summary> |
| | | private void _print() |
| | | { |
| | |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | } |
| | | return; |
| | | } |
| | | MsgHelper.ShowError("没有设计模板,请先设计模板!"); |
| | | } |
| | | |
| | | } |
| | | } |