一般用XRPageInfo处理报表页数,但是遇到组合复杂的报表、使用某些运行时处理的业务时候这个页数会不准确。建议使用一个普通的XRLabel,处理它的PrintOnPage事件,根据当前页码,可以灵活处理哪页显示页码,哪页不显示。
比如下列代码,报表共9张纸。前两张纸不显示页码。从第三张纸开始显示“第1页,共7页”,以此类推到“第7页,共7页”
private void xrLabel_pageinfo_PrintOnPage(object sender, PrintOnPageEventArgs e)
{
int pagecount = e.PageCount;
int pageindex = e.PageIndex;
if (pageindex < 2)
{
this.xrLabel_pageinfo.Visible = false;
}
else
{
this.xrLabel_pageinfo.Visible = true;
this.xrLabel_pageinfo.Text = string.Format("第{0}页,共{1}页", pageindex - 1, pagecount - 2);
}
}
设计界面
效果界面
、