我正在考虑更换ReportViewer工具栏。现在正在做发现。我知道JavaScript api for the report viewer。这不包括分页控件的API。
我在生成的HTML中进行了挖掘,并找出了如何触发回发以进行分页。即使工具栏未显示,在Javascript中调用以下内容仍然有效。
__doPostBack("ReportViewer1$ctl05$ctl00$Next$ctl00")
我不知道像这样回复帖子的问题。传递给方法的字符串是输入按钮的名称。似乎这个名字可能会改变。我也不知道$ ctl的意思是什么。
我知道如何通过将交互高度设置为零来使reportviewer不能分页报告。我现在正在探索我的所有选择。
在没有显示ReportViewer工具栏的情况下,是否有更简单的分页方法?如果没有,触发回发有什么问题?
答案 0 :(得分:0)
最终解决方案是使用客户参数进行回发。
客户端JS:
function loadPage(pageNumber) {
$('#__EVENTTARGET').val('pagination');
$('#__EVENTARGUMENT').val(<pageNumberToGoTo>);
$('#form1').submit();
}
填充的两个字段是默认情况下为ASP.NET回发创建的字段。
ASP.NET页面OnLoad事件中的服务器端C#:
if (Request.Form["__EVENTTARGET"] == "pagination")
{
int pageNumber = int.Parse(Request.Form["__EVENTARGUMENT"]);
_reportViewer.CurrentPage = pageNumber;
}