在正常模式下(默认情况下第一次加载ReportViewer和本地报告),我可以正确地获取CurrentPage,它是当前视图模式下的当前页面。在打印预览模式下获取ReportViewer的当前页面?
但在更改为预览模式后(可以使用SetDisplayMode(DisplayMode.PrintLayout)
完成),我无法获取CurrentPage的值,这是我可以访问的唯一属性,用于了解ReportViewer的当前页面。我需要实现这一点,因为我想为reportviewer自定义自己的工具栏,除了在切换到PrintLayout模式后,CurrentPage似乎固定为1之外,几乎已经完成了它。
这里是我的代码来显示当前页面:
private void BindData(){
myTextBox.DataBindings.Clear();
myTextBox.DataBindings.Add("Text", myReportViewer, "CurrentPage");
}
//Register some events to re-bind data and get other updated info (such as TotalPages)...
myReportViewer.RenderingComplete += (s,e) => {
BindData();
};
myReportViewer.PageSettingsChanged += (s,e) => {
BindData();
};
这时候,在正常模式(PageSettingsChanged处理程序被添加用于切换到PrintLayout模式,但它似乎没有工作的工作原理确定,它确实帮助更新可以使用GetTotalPages()方法实现的TotalPages,但是在切换到PrintLayout模式后绑定不再工作)。
您的帮助将不胜感激!
非常感谢您提前!