上次Insus.NET有簡單寫了一篇文章《Visual Studio 2012使用水晶報表Crystal Report》 http://www.cnblogs.com/insus/archive/2013/05/22/3090786.html
此篇只是簡單介紹了Visual Studio 2012可以方便是以快捷安裝Crystal Report了,Crystal Report的創建與顯示於ASP.NET網頁上。
今天Insus.NET 想跟大家分享的是從ASP.NET網頁傳遞參數給水晶報表。
首先創建兩個存儲過程,第一個是參數,Insus.NET將把這個參數做成一個下拉式菜單(DropDownList),供用戶選擇。
然后去asp.net程序,創建兩個對象(class類):
准備另外一個類:
准備完畢,我們開始創建一個水晶報表。創建過程中,為了減少篇幅而且生動形象,Insus.NET把過程做成一個實時操作。讓你慢慢看來。
我們在網站上創建一個網頁asp.net,用來顯示報表。不過我們的重點是從asp.net傳遞參數給水晶報表。因此先在網頁放一個DropDownList,並綁定數據給它。
去.aspx.cs為DropDownList寫綁定程序:
上圖中#13和#23行代碼,可以參考:http://www.cnblogs.com/insus/archive/2013/01/28/2880618.html
現在我們開始在網頁上顯示水晶報了,添加一個銨鈕(#15行html markup)。把光標定在#16行位置,去工具欄,雙擊
將產生下圖#3行和#16行html markup。
接下來,我們去寫銨鈕的事件:
引用命名空間:
using Insus.NET; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Shared;
第#34至#39行為本篇博文重點,參數設置:
ParameterValues prmV; ParameterDiscreteValue pdv = new ParameterDiscreteValue(); prmV = rptDoc.DataDefinition.ParameterFields["@FruitKind_nbr"].CurrentValues; pdv.Value = this.DropDownList1.SelectedItem.Value; prmV.Add(pdv); rptDoc.DataDefinition.ParameterFields["@FruitKind_nbr"].ApplyCurrentValues(prmV);