轉帖|使用教程|編輯:龔雪|2021-10-21 10:27:38.490|閱讀 202 次
概述:本文主要為大家介紹如何使用ActiveReports實現交互式報表的動態(tài)過濾,歡迎下載最新版體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
用戶可以使用ActiveReports參數 (Parameters)集合把數據提供給報表中的文本框或圖表,也可以選擇數據的一個子集顯示到報表的特定區(qū)域,或者是把數據從主報表象子報表傳遞。用戶可以通過三種方式獲取數據的值:提示用戶輸入;從主報表取值并傳遞給子報表;從Windows form或者Web form上取值。
在應用程序中創(chuàng)建一個名為 rptOrderDetails.rdlx 的 ActiveReports 報表文件,使用的項目模板為 ActiveReports RDL報表。
在新建的 NWind_CHS 數據源上鼠標右鍵并選擇添加數據集菜單項。
4.1 添加數據集參數
說明:在添加參數設置值屬性時,可以點擊下拉列表,并選中 表達式 選項,然后在表達式編輯對話框中設置參數的值。
4.2 設置數據集其他屬性
常規(guī)-名稱:Products
查詢-查詢:
SELECT 產品.*,類別.類別名稱,類別.說明 AS 類別說明,類別.圖片 AS 類別圖片, 供應商.公司名稱 AS 供應商,供應商.聯系人姓名,供應商.城市,供應商.地址
ORDER BY 產品.類別ID;
設置Products數據集的目的是為用戶提供產品名稱的選擇,如最終運行圖的左上角所示,因此我們需要為最開始設置的報表參數中的參數1設置可選值,右鍵點擊報表參數1,修改,選擇可選值標簽,設置信息:
常規(guī)-名稱:OrderDetails
查詢-查詢:
SELEC 訂單.訂單ID, 訂單.客戶ID, 訂單.訂購日期, 產品.產品名稱,訂單明細.數量, 訂單明細.單價, 訂單明細.折扣
from (( 訂單 innerjoin 訂單明細 on 訂單.訂單ID = 訂單明細.訂單ID ) innerjoin 產品 on 訂單明細.產品ID = 產品.產品
說明:在以上查詢語句 Where 條件中使用了參數查詢,參數使用的是 ? 占位,? 的出現順序需要與數據集參數中定義的參數順序一致。同時, ? 是 Access 中的查詢參數設置方式, SQL Server 中需要使用以 @ 開始的字符串作為參數。
從 Visual Studio 工具箱中將 Table 控件添加到報表設計界面,并將 OrderDetails 數據集中的字段拖拽到 Table 的相應列中,得到的設計界面如下:
通過 F5 鍵運行程序,在參數面板中輸入值之后,點擊查看報表按鈕,將得到以下結果:
ActiveReports 報表處理支持內置的報表參數面板,您還可以提供獨立于報表Viewer控件的自定義報表參數面板,類似的實現效果如下:
然后在“運行報表”按鈕的Click事件中實現報表參數的設置并運行報表:
protected void btnRun_Click(object sender, EventArgs e)
{
GrapeCity.ActiveReports.PageReport report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("PageReport1.rdlx")));
report1.Report.ReportParameters[0].DefaultValue.Values.Add(txtParam.Text);
WebViewer1.Report = report1;
}
ActiveReports 是一款專注于 .NET 平臺的報表控件,全面滿足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平臺下報表設計和開發(fā)工作需求,作為專業(yè)的報表工具為全球超過 300,000 開發(fā)人員提供了全面的報表開發(fā)服務。
本文轉載自
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: