| | |
| | | MsgHelper.ShowError("没有指定报表参数,请联系技术开发人员!"); |
| | | return; |
| | | } |
| | | var _obj = new |
| | | #region 如果是客户的后盖码 |
| | | if (rptParameter.Contains("rpt_hgm")) |
| | | { |
| | | 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 _obj = new |
| | | { |
| | | //模板 |
| | | var report = new FastReport.Report(); |
| | | var buffer = (byte[])_job["rtnData"]["reportTemplateData"]; |
| | | using (var Stream = new MemoryStream(buffer)) |
| | | keyType = "客户模板" |
| | | }; |
| | | var json = JsonConvert.SerializeObject(_obj); |
| | | try |
| | | { |
| | | var strReturn = |
| | | UtilityHelper.HttpPost("", "Report/GetTemplateList", json); |
| | | ReturnModel<DataTable> dd = UtilityHelper.ReturnToList(strReturn); |
| | | DataTable dt = dd.rtnData; |
| | | if (dd.rtnCode > 0) |
| | | { |
| | | report.Load(Stream); |
| | | // 创建或获取一个ContextMenu对象(例如使用ContextMenuStrip) |
| | | ContextMenu contextMenu = new ContextMenu(); |
| | | foreach (DataRow dr in dt.Rows) |
| | | { |
| | | MenuItem menuItem1 = new MenuItem(dr["reportType"].ToString() + "【" + dr["reportName"].ToString() + "】"); |
| | | menuItem1.Click += (ss, ee) => |
| | | { |
| | | rptParameter = rptParameter.Replace("rpt_hgm", dr["reportType"].ToString()); |
| | | _printZhiJie(); |
| | | }; |
| | | contextMenu.MenuItems.Add(menuItem1); |
| | | } |
| | | // 显示菜单在按钮的位置 |
| | | contextMenu.Show(btnPrint, new Point(0, btnPrint.Height)); // 调整第二个参数以调整菜单的显示位置 |
| | | return; |
| | | } |
| | | //主表 |
| | | 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) |
| | | { } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MsgHelper.ShowError("提示:" + ex.Message); |
| | | } |
| | | #endregion |
| | | _printZhiJie(); |
| | | }; |
| | | } |
| | | /// <summary> |
| | |
| | | public void SetPrintButton(bool blPiLiang) |
| | | { |
| | | if (blPiLiang == true) |
| | | { |
| | | this.lay1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; |
| | | this.lay2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; |
| | | } |
| | | else |
| | | { |
| | | this.lay1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; |
| | | this.lay2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | } |
| | | MsgHelper.ShowError("没有设计模板,请先设计模板!"); |
| | | } |
| | | /// <summary> |
| | | /// 直接打印 |
| | | /// </summary> |
| | | private void _printZhiJie() { |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | } |