文檔金喜正規買球>>Fastreport.Net 教程2018(完結)>>如何使用URL將參數傳遞給報表
如何使用URL將參數傳遞給報表
使用網頁上的報表時,你往往需要傳輸任何參數的值。例如,這可以是用于過濾列表或客戶信息的數據。當你使用報表調用Web表單時,使用URL(Universal Resource Locator,通用資源定位器)傳遞參數會更方便也更簡單。
我們來看一個最簡單的例子。在報表模板中,有兩個參數:字符串類型的參數1,和參數2:
你必須使用URL傳遞這些參數的值。
創建一個Web應用程序ASP.Net WebForms。我們在頁面上放置一個WebReport組件。將創建的報表模板添加到項目。右鍵點擊文件夾App_Data并選擇“Add”-> “Existing Item ....”。然后在硬盤上找到報表文件。并轉到C#代碼頁。首先我們添加庫:
using FastReport.Web; using FastReport;
我使用了加載頁面事件,因為在這個階段報表還沒有顯示:
namespace URLParams { public partial class About : Page { protected void Page_Load(object sender, EventArgs e) { //Get parameters from URL string param1 = Request.QueryString["param1"]; string param2 = Request.QueryString["param2"]; //Load report fil into WebReport object WebReport1.ReportFile = "App_Data/URLParams.frx"; //Set value to report parameters WebReport1.Report.SetParameterValue("Param1", param1); WebReport1.Report.SetParameterValue("Param2", param2); } } }
請注意,參數名稱與報表模板中的參數名稱完全匹配:
WebReport1.Report.SetParameterValue("Param1", param1);
該URL本身如下所示:
!
Request.QueryString();
函數按名稱查找參數并返回其值。
第二個選項,不保存項目中的報表模板:
protected void Page_Load(object sender, EventArgs e) { string param1 = Request.QueryString["param1"]; string param2 = Request.QueryString["param2"]; Report report = new Report(); report.Load("J:/Program Files (x86)/FastReports/FastReport.Net/Demos/Reports/URLParams.frx"); report.SetParameterValue("Param1", param1); report.SetParameterValue("Param2", param2); WebReport1.Report = report; }
在這里,我們創建一個報表對象,加載一個模板并分配參數。之后,我們將報表對象分配給網頁報表對象。容我再啰嗦一遍。請注意確保WebReport的ReportResourceString屬性為空。
兩種方法都會指向同一個結果:
就是這樣,只需要幾行代碼,你就可以在報表中使用URL中傳遞的參數。
推薦閱讀
- FastReport VCL報表控件開發者手冊
- FastReport Online Designer中文手冊
- Fastreport.Net教程2016
- Fastreport.Net用戶手冊
- FastReport.Net教程2017(持續更新中···)
- FastReport Online Designer教程2017(持續更新中···)
- 報表教程2017(持續更新中···)
- FastReport.Net v2018.1版本更新已經發布!