//Load
private void FrmReport_DataSourceDemanded(object sender, EventArgs e)
{
try
{
#region 放到构造函数没效果
//this.ShowPrintStatusDialog = false;
this.ShowPrintMarginsWarning = false;
#endregion
InitData();
_xtraReport = (XtraReport)sender;
LoadData();
}
catch (Exception ex)
{
WriteExceptionLog(ex);
}
}
调用
打印操作权限-是否允许多次打印
private void FrmReport_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
if (!IsPrint)//判读是否打印还是预览
{
if (!IsMultiplePrintBill)
{
if (_CM_PrintNumber != null && _CM_PrintNumber.PrintNumber > 1)
{
XtraReport x = _xtraReport;
setcomm(x);
}
}
e.Cancel = false;
}
else
{
if (IsMultiplePrintBill)//是否允许多次打印
{
//_xtraReport = (XtraReport)sender;
//LoadData();
e.Cancel = false;
}
else
{
if (_CM_PrintNumber != null && _CM_PrintNumber.PrintNumber > 1)
{
XtraMessageBox.Show("您没有多次打印单据的权限!", "系统提示");
e.Cancel = true;
}
}
}
}
private void setcomm(XtraReport x)
{
DevExpress.XtraPrinting.PrintingSystemBase mPSB = x.PrintingSystem;
mPSB.StartPrint += new PrintDocumentEventHandler(this.FrmPrint_StartPrint);
//DevExpress.XtraPrinting.PrintingSystemCommand c = new PrintingSystemCommand();
//mPSB.SetCommandVisibility(new DevExpress.XtraPrinting.PrintingSystemCommand[]
//{
// DevExpress.XtraPrinting.PrintingSystemCommand.Open ,
// DevExpress.XtraPrinting.PrintingSystemCommand.PageSetup ,
// DevExpress.XtraPrinting.PrintingSystemCommand.Print ,
// DevExpress.XtraPrinting.PrintingSystemCommand.PrintDirect ,
// DevExpress.XtraPrinting.PrintingSystemCommand.Save,
// DevExpress.XtraPrinting.PrintingSystemCommand.ExportCsv,
// }, DevExpress.XtraPrinting.CommandVisibility.None);
}
private void FrmPrint_StartPrint(object sender, PrintDocumentEventArgs e)
{
if (!IsMultiplePrintBill)
{
if (_CM_PrintNumber != null && _CM_PrintNumber.PrintNumber > 1)
{
e.PrintDocument.BeginPrint -= new System.Drawing.Printing.PrintEventHandler(this.FrmPrint_Print);
e.PrintDocument.BeginPrint += new System.Drawing.Printing.PrintEventHandler(this.FrmPrint_Print);
}
}
}
private void FrmPrint_Print(object sender, PrintEventArgs e)
{
if (_CM_PrintNumber != null && _CM_PrintNumber.PrintNumber > 1)
{
XtraMessageBox.Show("您没有多次打印单据的权限!", "系统提示");
e.Cancel = true;
return;
}
e.Cancel = false;
}