2012-05-07 29 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; 
}