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;
}
}
}