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;
|
};
|
}
|
/// <summary>
|
/// 关键字,一般是主键
|
/// </summary>
|
public string guidKey { get; set; }
|
|
|
/// <summary>
|
/// 批量操作时的关键字:托板码
|
/// </summary>
|
public string allClickKey { get; set; }
|
|
|
/// <summary>
|
/// 报表,在数据库中要唯一,如:存储过程名{入参1名|入参值,入参2名|入参值}
|
/// </summary>
|
public string rptParameter { get; set; }
|
|
/// <summary>
|
/// 打印
|
/// </summary>
|
public event EventHandler btnPrintClick;
|
|
/// <summary>
|
/// 批量操作
|
/// </summary>
|
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;
|
}
|
}
|
}
|