【Stimulsoft Reports.WinForms教程】报表中的用户数据

【下载Stimulsoft Reports.Ultimate最新版本】

此示例显示了在报表中使用用户数据的可能性。为此,您可以使用StiUserData类,该类已注册为报表数据。

StiUserData是Stimulsoft数据类型,它提供基于非类型化和非结构化数据创建报告的功能。例如,服务,业务对象等。处理大量数据时可以使用StiUserData。例如,使用标准.NET方法,可能会耗尽内存。在这种情况下,解决方案是使用自定义数据源。

在报表中注册必要的数据:

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事件,该事件在报表生成器请求数据时发生。例如,事件返回有关Graphics系统程序集的信息:

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;
    }
}

示例代码的结果如下图所示:

Stimulsoft

查看原文,下载示例

扫描二维码关注公众号,回复: 3526384 查看本文章

猜你喜欢

转载自blog.csdn.net/xiaochuachua/article/details/82740342