RDLC报表多页打印时的一些问题

有多页数据需要打印时,RDCL报表有时会发生只能打印第一页的情况,而点击了打印布局按钮后,有时能正常的打印后续页。

鉴于这种情况,我们可以控制打印界面的呈现模式,避开这个小Bug,代码如下:

public frmFirstCases_Print(DataSet ds)
{
    InitializeComponent();
    this.DsSource = ds;
}
 
private void frmFirstCases_Print_Load(object sender, EventArgs e)
{
    // 设置本地报表的路径(App.SysPath通常指向程序启动的框架)
    this.reportViewer1.LocalReport.ReportPath = App.SysPath + "\\First_Cases.rdlc";
 
    // 清空并添加报表数据源
    reportViewer1.LocalReport.DataSources.Clear();
    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DsReportSource_Cover_Info",
        DsSource.Tables[0]));
    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DsReportSource_Cover_Diagnose",
        DsSource.Tables[1]));
    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DsReportSource_Cover_Operation",
        DsSource.Tables[2]));
    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DsReportSource_Cover_Quality",
        DsSource.Tables[3]));
    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DsReportSource_Cover_Temp",
        DsSource.Tables[4]));
 
    // 呈现报表
    this.reportViewer1.RefreshReport();
 
    // 将显示模式切换到打印布局模式
    this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);
 
    // 将缩放模式设置为百分比
    this.reportViewer1.ZoomMode = ZoomMode.Percent;
 
    // 设为 100% 
    this.reportViewer1.ZoomPercent = 100;
}

posted on   SkySoot  阅读(3744)  评论(0编辑  收藏  举报

导航

< 2012年1月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4
5 6 7 8 9 10 11
点击右上角即可分享
微信分享提示