Webforms ReportViewer分页而不显示工具栏?

时间:2012-05-07 15:03:35

标签: asp.net reporting-services webforms reportviewer

我正在考虑更换ReportViewer工具栏。现在正在做发现。我知道JavaScript api for the report viewer。这不包括分页控件的API。

我在生成的HTML中进行了挖掘,并找出了如何触发回发以进行分页。即使工具栏未显示,在Javascript中调用以下内容仍然有效。

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

我不知道像这样回复帖子的问题。传递给方法的字符串是输入按钮的名称。似乎这个名字可能会改变。我也不知道$ ctl的意思是什么。

我知道如何通过将交互高度设置为零来使reportviewer不能分页报告。我现在正在探索我的所有选择。

在没有显示ReportViewer工具栏的情况下,是否有更简单的分页方法?如果没有,触发回发有什么问题?

1 个答案:

答案 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;
}