【问题标题】:Crystal reports datasource with references带有引用的 Crystal 报表数据源
【发布时间】:2013-09-11 20:43:12
【问题描述】:

我是水晶报表的新手,遇到了一个问题。我需要在表格中进行子报表或分组,但问题是我有两个类 Group 和 Foo,Group 有 List,我需要通过 Group.Name 进行分组并显示来自 Foo 的数据。

例如:

    public class Group
    {
        public string Name{get;set;}
        public List<Group> Children{get;set}
        public Group ParentGroup{get;set;}
        public List<Foo> Items{get;set;}
    }

    public class Foo
    {
        public string Name{get;set;}
        public string Number{get;set;}
        public double Price{get;set;}
        public double Quantity{get;set;}
    }

我想得到按 Group.Name 分组的报告并查看 Foo 详细信息

例如:

组 1


|名称 |号码 |数量 |价格 |总价 |


|笔| 01 | 3 | 15 | 45|

|橡皮擦 | 14 | 1 | 20 | 20|

最好的方法是什么?数据不在数据库中,它仅作为 c# 中的对象。但真正的问题是参考 Group.Items

感谢您的帮助。雅库布

【问题讨论】:

    标签: c# crystal-reports reporting objectdatasource crystal-reports-2010


    【解决方案1】:

    解决方法: 在单个 SP 中从数据库中拉出两个数据表。

    1. 对于组名和其他详细信息作为标题表,以及
    2. 来自基于组名或 ID 的详细信息。
    3. 将这两个表绑定到你的水晶报表中。

    【讨论】:

    • 数据不在数据库中,它在 c# 应用程序的对象中。我觉得我可以做一些事情,比如添加 GroupID 并在 Group 和 Foo 之间加入,但这是一个可怕的解决方案。
    • 然后使用 Ienumerable 集合。看到这个amergerzic.com/post/IEnumerableCrystalReports.aspx
    • 没问题。问题出在数据库中,它将是具有 ID 的表 Group 和具有 Group_ID 的表 FOO。然后我可以在子报表中使用类似 GroupID 的参数并使用 linq Where(q=>ParamGroupID==Group_ID)。但是我没有 Group_ID,我有从 Class Group 到 IEnumerable Items 的引用。问题是:如何在没有内部 linq 查询的情况下将数据源从类 Group 中添加到此 Items 的子报表引用。我在字段资源管理器中看不到项目
    • 也许如果有办法,如何为每个分组部分设置子报表数据源。但我找不到如何做到这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 2015-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多