使用自定义Class对象的列表作为Crystal报表的数据源

问题描述

| 我正在尝试找到使用自己的自定义类设计报告的方法。 我找到了链接: 1.)如何在带有对象数据源的Crystal Report中工作? 2.)使用.net对象作为Crystal Report 2008中的数据源 3.)将具有List <>的对象绑定到Crystal Report 4.)如何在水晶报表中将Custom类分配为数据源 它们非常有帮助,但是由于我的自定义类的属性未在Crystal Report设计视图的字段列表中列出,因此我在设计报表时一直处于第一步。 我的自定义课程示例:
class UserType
    public property UIN as integer...
    public property Title as string...
end class
class User
    public property UIN as Integer...
    public property Name as string...
    public property Password as String...
    public property Type as UserType...
end class
当我将类对象添加到Crystal报表时,我没有从字段列表中的users类获得usertype字段。 那么如何将用户类型字段添加到我的字段列表中?还是我必须采取另一种方法? 编辑: 我想按原样使用它的原因: 1.)显示用户可以输入关键字的表格 2.)程序使用LINQ按关键字过滤记录 3.)当用户单击“打印”按钮时,我要将过滤后的记录设置为报告的数据源     

解决方法

使用与您的班级相匹配的列创建数据集,然后分配 通常将数据集添加到您的报告中。 当您的对象类加载了数据,并且/或者使用用户输入的值进行了过滤(使用linq等过滤)时。 做这个:
dim yourDataset as dataset \' this is your typed dataset
Dim dr As datarow
For n As Integer = 0 To yourClass.Count - 1
    dr = yourDataset.tables(\"TableName\").NewRow
    dr(\"ColumnNameOne\") = yourClass(n).PropertyName
    dr(\"ColumnNameTwo\") = yourClass(n).PropertyName

    yourDataset.tables(\"TableName\").Rows.Add(dr)
Next

\' bind the datasource
crystalreport.SetDatasource(ds)
    ,您可以尝试将对象序列化为XML,提供XSD,然后使用Crystal Report \的XML驱动程序进行连接。该报告会将对象“视为”为两个表:一个用于User,另一个用于UserType。您将在报表中同时包含两个\'tables \',并使用internal_id字段链接这些表。     ,为什么不为报表分配强类型的数据集并为自己省去很多麻烦呢?     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...