我正在使用 Reporting Services 在 ASP.NET 中编写报告。我想隐藏 ReportViewer 的工具栏并拥有自己的“下一页”和“上一页”按钮。有没有办法以编程方式浏览 ReportViewer 页面?是否有“NextPage”和“PreviousPage”等方法?
问问题
4081 次
2 回答
1
我只是想我会添加到这一点,因为我一直在做类似的事情,并构建了一组 JavaScript(使用 JQuery)函数,您可以在其中传递 ReportViewerID,它允许您添加下一个、上一个、第一个和最后一个等等到您自己的自定义工具栏按钮。只需在文档准备好时使用 ReportViewer_HideToolbar 功能隐藏工具栏。认为值得分享,因为我在昨天搜索几个小时时找不到任何东西。即使它只是某人的起点,至少它更接近并且有帮助:-)
ps 我使用的是 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()
}
问候利亚姆
于 2014-11-13T15:54:52.557 回答
1
如果您隐藏工具栏并拥有自己的页面导航控件,则可以在代码中设置 ReportViewer 的CurrentPage属性。
于 2013-02-18T22:10:34.547 回答