带有rdlc报告列表的complext对象

时间:2015-12-20 10:07:16

标签: c# .net report rdlc

我是RDLC报告的新手,我有一个我认为应该支持的基本要求。但我无法找到具体的解决方案。所以请帮帮我。谢谢:))

我的报告的数据源是这样的对象:

class Order {
    public string id {get; set;}
    public int userid {get; set;}
    public Address address {get; set;}
    public List<Package> packages {get; set;}
}

class Address {
    // Fields...
}

class Package {
    public string pNumber {get; set;}
    public string state {get; set;}
    public List<Item> items {get; set;}
}

class Item {
    public string itemName{get; set;}
    // other fields...
}

我想做一个这样的报告:

+----------+-----------+----------+----------+
| OrderId  | [orderId] | UserId   | [userId] |
+----------+-----------+----------+----------+
| Address  | [address line 1]                |
+          +---------------------------------+
|          | [address line 2]                |
+----------+---------------------------------+
|                  Packages                  |
+--------------------------------------------+
| package1 | pNumber   | [pnumber]           |
+          +-----------+---------------------+
|          | State     | [state]             |
+          +-----------+---------------------+
|          | Items     | ItemName | ItemSize |
+          +           +----------+----------+
|          |           | item1    | 111      |
+          +           +----------+----------+
|          |           | item2    | 222      |
+----------+-----------+----------+----------+
| package2 | pNumber   | [pnumber]           |
+          +-----------+---------------------+
|          | State     | [state]             |
+          +-----------+---------------------+
|          | Items     | ItemName | ItemSize |
+          +           +----------+----------+
|          |           | item3    | 111      |
+          +           +----------+----------+
|          |           | item4    | 222      |
+----------+-----------+----------+----------+

那么我应该如何将数据集绑定到报告中呢?我使用报表生成器,只能将对象非列表字段绑定到它或只列出列表字段。欢迎任何想法/建议/示例。谢谢。

1 个答案:

答案 0 :(得分:0)

看起来你需要将你的数据“扁平化”成一个DataTable并创建表(在rdlc报告,Tablix控件中),按订单,包和物品ID分组,其中各自显示订单,地址,包和物品详细信息组头。单个项目将列在表“详细信息”行中。

这也是完成你所描述的格式化的最简单方法。