【问题标题】:How to have Page Navigation programmatically in ReportViewer?如何在 ReportViewer 中以编程方式进行页面导航?
【发布时间】:2012-07-08 11:22:35
【问题描述】:

我正在使用 Reporting Services 在 ASP.NET 中编写报告。我想隐藏 ReportViewer 的工具栏并拥有自己的“下一页”和“上一页”按钮。有没有办法以编程方式浏览 ReportViewer 页面?是否有“NextPage”和“PreviousPage”等方法?

【问题讨论】:

标签: asp.net reporting-services


【解决方案1】:

如果您隐藏工具栏并拥有自己的页面导航控件,则可以在代码中设置 ReportViewer 的 CurrentPage 属性。

【讨论】:

    【解决方案2】:

    我只是想我会添加到这个,因为我一直在做类似的事情,并且已经构建了一组 JavaScript(使用 JQuery)函数,您可以在其中传递 ReportViewerID,它允许您添加下一个,上一个, first last 等到您自己的自定义工具栏按钮。只需在文档准备好时使用 ReportViewer_HideToolbar 功能隐藏工具栏。认为值得分享,因为我在昨天搜索几个小时时找不到任何东西。即使它只是某人的起点,至少它更接近并且有帮助:-)

    附言我使用的是 ReportViewer 10,其他版本可能不同且无法正常工作。

    function ReportViewer_FirstPage(ReportViewerID) {
        var ReportViewer = $("span[id$='" + ReportViewerID + "_ReportViewer'")
        ReportViewer.find("input[title='First Page']").first().click()
    }
    
    function ReportViewer_NextPage(ReportViewerID) {
        var ReportViewer = $("span[id$='" + ReportViewerID + "_ReportViewer'")
        ReportViewer.find("input[title='Next Page']").first().click()
    }
    
    
    function ReportViewer_PreviousPage(ReportViewerID) {
        var ReportViewer = $("span[id$='" + ReportViewerID + "_ReportViewer'")
        ReportViewer.find("input[title='Previous Page']").first().click()
    }
    
    function ReportViewer_LastPage(ReportViewerID) {
        var ReportViewer = $("span[id$='" + ReportViewerID + "_ReportViewer'")
        ReportViewer.find("input[title='Last Page']").first().click()
    }
    
    var tReportViewerLastFindText = ""
    function ReportViewer_Set_SearchText(ReportViewerID, tText) {
        var ReportViewer = $("div[id$='MainPlaceHolder_" + ReportViewerID + "'")
        ReportViewer.find("input[title='Find Text in Report']").val(tText)
        var m_reportViewer = $find($(ReportViewer).attr('id'))
        if (tReportViewerLastFindText != tText) {
            m_reportViewer.find(tText)
            tReportViewerLastFindText = tText
        } else {
            m_reportViewer.findNext()
        }
    }
    
    function ReportViewer_Set_PageNumber(ReportViewerID, tPageNumber) {
        var ReportViewer = $("span[id$='" + ReportViewerID + "_ReportViewer'")
        var CurrentPage = ReportViewer.find("input[title='Current Page']")
        $(CurrentPage).val(tPageNumber)
        __doPostBack(CurrentPage.attr("name"), '')
    }
    
    function ReportViewer_Print(ReportViewerID) {
        var ReportViewer = $("div[id$='MainPlaceHolder_" + ReportViewerID + "'")
        var m_reportViewer = $find($(ReportViewer).attr('id'))
        m_reportViewer.invokePrintDialog()
    }
    
    function ReportViewer_HideToolbar(ReportViewerID) {
        var ReportViewer = $("span[id$='" + ReportViewerID + "_ReportViewer'")
        $(ReportViewer).find("div[style$='toolbar_bk.png);']").hide()
    }
    

    问候 利亚姆

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      • 2023-02-20
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 2015-03-09
      • 2010-10-26
      相关资源
      最近更新 更多