在正常模式下(默认情况下第一次加载带有本地报告的 ReportViewer),我可以正确获取 CurrentPage,即当前视图模式下的当前页面。
但是在更改为预览模式后(可以使用 来完成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 模式,但它似乎不起作用,它确实有助于更新 TotalPages 可以使用 GetTotalPages() 方法实现,但是绑定不起作用切换到 PrintLayout 模式后不再)。
您的帮助将不胜感激!
非常感谢您!