• <menu id="w2i4a"></menu>
  • logo Stimulsoft Reports.WinForms教程-2019

    文檔首頁>>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

    下載示例

    購買Stimulsoft正版授權(quán),請點(diǎn)擊“咨詢在線客服”喲!

    Stimulsoft

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();