把使用的一个Report设为主体,后面的往里添加
MonthlyReport report1 = new MonthlyReport();
report1.CreateDocument();
MonthlyReport report2 = new MonthlyReport();
report2.CreateDocument();
report1.Pages.AddRange(report2.Pages);
MonthlyTotalReport report3 = new MonthlyTotalReport();
report3.CreateDocument();
report1.Pages.AddRange(report3.Pages);
report1.PrintingSystem.ContinuousPageNumbering = true;
设定一个参数,只预览则没有打印菜单不能打印
if (para.ToString() == "1")
{//仅预览
DevExpress.XtraReports.UI.ReportPrintTool mRptPrintTool = new DevExpress.XtraReports.UI.ReportPrintTool(report1);//这条语句少了。
DevExpress.XtraPrinting.PrintingSystemBase mPSB = mRptPrintTool.PrintingSystem;
mPSB.SetCommandVisibility(new DevExpress.XtraPrinting.PrintingSystemCommand[]
{
DevExpress.XtraPrinting.PrintingSystemCommand.Background ,
DevExpress.XtraPrinting.PrintingSystemCommand.ClosePreview ,
DevExpress.XtraPrinting.PrintingSystemCommand.Customize ,
DevExpress.XtraPrinting.PrintingSystemCommand.DocumentMap ,
DevExpress.XtraPrinting.PrintingSystemCommand.File ,
DevExpress.XtraPrinting.PrintingSystemCommand.FillBackground ,
DevExpress.XtraPrinting.PrintingSystemCommand.Open ,
DevExpress.XtraPrinting.PrintingSystemCommand.PageSetup ,
DevExpress.XtraPrinting.PrintingSystemCommand.Print ,
DevExpress.XtraPrinting.PrintingSystemCommand.PrintDirect ,
DevExpress.XtraPrinting.PrintingSystemCommand.Save,
DevExpress.XtraPrinting.PrintingSystemCommand.Watermark,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportCsv,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportFile,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportGraphic,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportHtm,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportMht,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportPdf,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportRtf,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportTxt,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportXls,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportXlsx,
DevExpress.XtraPrinting.PrintingSystemCommand.ExportXps,
DevExpress.XtraPrinting.PrintingSystemCommand.SendCsv,
DevExpress.XtraPrinting.PrintingSystemCommand.SendFile,
DevExpress.XtraPrinting.PrintingSystemCommand.SendGraphic,
DevExpress.XtraPrinting.PrintingSystemCommand.SendMht,
DevExpress.XtraPrinting.PrintingSystemCommand.SendPdf,
DevExpress.XtraPrinting.PrintingSystemCommand.SendRtf,
DevExpress.XtraPrinting.PrintingSystemCommand.SendTxt,
DevExpress.XtraPrinting.PrintingSystemCommand.SendXls,
DevExpress.XtraPrinting.PrintingSystemCommand.SendXlsx,
DevExpress.XtraPrinting.PrintingSystemCommand.SendXps,
DevExpress.XtraPrinting.PrintingSystemCommand.SubmitParameters
}, DevExpress.XtraPrinting.CommandVisibility.None);
mRptPrintTool.ShowPreviewDialog();
}
else
{
//预览打印
ReportPrintTool printTool = new ReportPrintTool(report1);
printTool.ShowPreviewDialog();
}
预览打印事件
private void btnPrint_Click(object sender, EventArgs e)
{
try
{
if (gView.FocusedRowHandle < 0)//判断gridview是否有数据,如果没有return
return;
//int i = gView.FocusedRowHandle;
//DataRow dr = gView.GetDataRow(gView.FocusedRowHandle);//获取选中行
//string status = dr["AddMonth"].ToString().Trim();
//string pno = dr["ReportNO"].ToString().Trim();
//string para = status + '_' + pno;
Thread thread = new Thread(new ParameterizedThreadStart(print2));
thread.SetApartmentState(ApartmentState.STA);
thread.Start("2");
//Thread thread = new Thread(new ThreadStart(print2));
//thread.SetApartmentState(ApartmentState.STA);
//thread.Start();
}
catch (Exception ex)
{
XtraMessageBox.Show("异常!", "警告");
return;
}
}