2012-05-07 23 views
0

我正在考虑更换ReportViewer工具栏。现在就开始发现。我知道JavaScript api for the report viewer。这不包括分页控件的API。Webforms ReportViewer分页没有显示工具栏?

我已经在生成的HTML中挖出了周围的东西,并想出了如何触发回发来完成分页。在JavaScript中调用以下内容即使不显示工具栏也能正常工作。

__doPostBack("ReportViewer1$ctl05$ctl00$Next$ctl00")

我不知道叫回发这样的陷阱。由于传入方法的字符串是输入按钮的名称。看起来这个名字可能会改变。我也不知道$ ctl的东西是什么意思。

我知道如何通过将交互式高度设置为零来让reportviewer不页面报告。我现在只是在探索我所有的选择。

没有显示ReportViewer工具栏,是否有一种更简单的方法来做分页?如果没有,触发回传的陷阱是什么?

回答

0

最终解决方案是使用客户参数进行回发。

客户端JS:

function loadPage(pageNumber) { 
    $('#__EVENTTARGET').val('pagination'); 
    $('#__EVENTARGUMENT').val(<pageNumberToGoTo>); 
    $('#form1').submit(); 
} 

两个字段得到填充有哪些默认情况下为ASP.NET回发创建。

服务器端C#中的ASP.NET页面OnLoad事件:

if (Request.Form["__EVENTTARGET"] == "pagination") 
{ 
    int pageNumber = int.Parse(Request.Form["__EVENTARGUMENT"]); 
    _reportViewer.CurrentPage = pageNumber; 
}