using Gs.DevApp.DevFrm.Rpt; using Gs.DevApp.ToolBox; using Newtonsoft.Json; using System; using System.Windows.Forms; namespace Gs.DevApp.UserControl { public partial class UcBtnPrint : DevExpress.XtraEditors.XtraUserControl { public UcBtnPrint() { InitializeComponent(); this.btnPrint.Click += (s, e) => { if (btnPrintClick != null) btnPrintClick(this, e); else return; if (rptParameter == "return false") return; if (string.IsNullOrEmpty(rptParameter)) { MsgHelper.ShowError("没有指定报表参数,请联系技术开发人员!"); return; } var _bl = false; _bl = _ckRptService(); if (_bl) { try { using (Form frm = new RptPreview(guidKey, rptParameter)) { frm.ShowDialog(); } } catch (Exception) { } return; } MsgHelper.ShowError("没有设计模板,请先设计模板!"); }; this.btnAll.Click += (s, e) => { if (btnAllClick != null) btnAllClick(this, e); else return; }; } /// /// 关键字,一般是主键 /// public string guidKey { get; set; } /// /// 批量操作时的关键字:托板码 /// public string allClickKey { get; set; } /// /// 报表,在数据库中要唯一,如:存储过程名{入参1名|入参值,入参2名|入参值} /// public string rptParameter { get; set; } /// /// 打印 /// public event EventHandler btnPrintClick; /// /// 批量操作 /// public event EventHandler btnAllClick; private bool _ckRptService() { try { var _obj = new { guid = guidKey, rptParameter, isDesign = 1 }; var strJson = UtilityHelper.HttpPost("", "Report/GetRptData", JsonConvert.SerializeObject(_obj)); var _rtn = UtilityHelper.ReturnToDynamic(strJson); if (_rtn.rtnCode > 0) return true; return false; } catch (Exception ex) { MsgHelper.Warning("提示:" + ex.Message); return true; } return false; } public void SetPlButton( bool blPiLiang) { if (blPiLiang == true) this.layoutControlItem3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; else this.layoutControlItem3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; } } }