将多个XtraReport 合在一起预览打印,并设置是否只预览不打印

把使用的一个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;
            }
        }

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值