using DevExpress.XtraEditors; using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; using Gs.DevApp.UserControl; using Newtonsoft.Json; using System; using System.Data; namespace Gs.DevApp.DevFrm.Sys { public partial class EasyRptEdt : DevExpress.XtraEditors.XtraForm { public EasyRptEdt() { InitializeComponent(); GetList(); } private void GetList() { var _obj = new { }; var strReturn = ""; try { strReturn = UtilityHelper.HttpPost("", "Report/GetTemplateList", JsonConvert.SerializeObject(_obj)); ReturnModel dd = UtilityHelper.ReturnToList(strReturn); DataTable dt = dd.rtnData; foreach (DataRow row in dt.Rows) { SimpleButton btn = new DevExpress.XtraEditors.SimpleButton(); btn.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.printarea_32x32; btn.ImageOptions.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.TopCenter; btn.Name = Guid.NewGuid().ToString(); btn.Size = new System.Drawing.Size(150, 150); btn.TabIndex = 1; btn.Text = row["reportType"].ToString() + "\n" + row["reportName"].ToString(); btn.Margin = new System.Windows.Forms.Padding(20); btn.Tag = row["reportType"].ToString() + "{}"; this.flowLayoutPanel1.Controls.Add(btn); btn.Click += Btn_Click; } } catch (Exception ex) { MsgHelper.Warning("提示:" + ex.Message); } } private void Btn_Click(object sender, EventArgs e) { string _guid = Guid.NewGuid().ToString(); SimpleButton btn = (SimpleButton)sender; string rptParameter = btn.Tag.ToString(); if (string.IsNullOrEmpty(rptParameter)) { MsgHelper.ShowError("没有指定报表参数,请联系技术开发人员!"); return; } var _bl = false; _bl = _ckRptService(_guid, rptParameter); //如果已经有模板了,直接打开设置模板 if (_bl) { var frm = new EasyRptDesign(_guid, rptParameter); frm.ShowDialog(); return; } //否则向导设计模板 var rptWizard = new ShowRptWizard(_guid, rptParameter); rptWizard.ShowDialog(); } private bool _ckRptService(string _guid, string rptParameter) { try { var _obj = new { guid = _guid, 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 false; } return false; } } }