文檔首頁>>Stimulsoft Reports.WinForms教程-2019>>【Stimulsoft Reports.WinForms教程】報表中的用戶數(shù)據(jù)
【Stimulsoft Reports.WinForms教程】報表中的用戶數(shù)據(jù)
【下載Stimulsoft Reports.Ultimate最新版本】
此示例顯示了在報表中使用用戶數(shù)據(jù)的可能性。為此,您可以使用StiUserData類,該類已注冊為報表數(shù)據(jù)。
StiUserData是Stimulsoft數(shù)據(jù)類型,它提供基于非類型化和非結(jié)構(gòu)化數(shù)據(jù)創(chuàng)建報告的功能。例如,服務(wù),業(yè)務(wù)對象等。處理大量數(shù)據(jù)時可以使用StiUserData。例如,使用標(biāo)準(zhǔn).NET方法,可能會耗盡內(nèi)存。在這種情況下,解決方案是使用自定義數(shù)據(jù)源。
在報表中注冊必要的數(shù)據(jù):
public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); stiReport1.RegData("HatchStyleEnum", Enum.GetNames(typeof(HatchStyle))); Type type = typeof(Graphics); assemblys = type.GetMethods(); stiUserData1.Count = assemblys.Length; stiReport1.RegData("UserData", stiUserData1); }
指定的類具有GetData事件,該事件在報表生成器請求數(shù)據(jù)時發(fā)生。例如,事件返回有關(guān)Graphics系統(tǒng)程序集的信息:
private void stiUserData1_GetData(object sender, Stimulsoft.Report.Dictionary.StiUserGetDataEventArgs e) { if (e.ColumnName == "Name")e.Data = assemblys[e.Position].Name; if (e.ColumnName == "ReturnType")e.Data = assemblys[e.Position].ReturnType.Name; if (e.ColumnName == "IsStatic")e.Data = assemblys[e.Position].IsStatic; if (e.ColumnName == "Parameters") { ParameterInfo[] pars = assemblys[e.Position].GetParameters(); string s = string.Empty; foreach (ParameterInfo par in pars)s += par.ParameterType.Name + " " + par.Name + "\n"; e.Data = s; } }
示例代碼的結(jié)果如下圖所示:
購買Stimulsoft正版授權(quán),請點(diǎn)擊“咨詢在線客服”喲!