From 70c49ce94352ea6097b5de48536e81b1b96682e5 Mon Sep 17 00:00:00 2001
From: lu <123456>
Date: 星期一, 13 十月 2025 21:29:26 +0800
Subject: [PATCH] 打印
---
DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs | 145 ++++++++++++++++++++++++++++++++----------------
1 files changed, 97 insertions(+), 48 deletions(-)
diff --git a/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs b/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
index 233d36f..6a658a8 100644
--- a/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
+++ b/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
@@ -92,60 +92,44 @@
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);
+ // 鍒涘缓鎴栬幏鍙栦竴涓狢ontextMenu瀵硅薄锛堜緥濡備娇鐢–ontextMenuStrip锛�
+ 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>
@@ -225,9 +209,15 @@
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>
@@ -253,5 +243,64 @@
}
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);
+ }
+ }
}
}
--
Gitblit v1.9.3