【发布时间】:2018-07-16 18:21:00
【问题描述】:
我想在我的一个 ReportViewer 中表示一个列表列表。
我的情况的一个例子如下: 在我的代码中,我有一个特定类的元素列表。 例如:
ObservableCollection<GroupClass> listOfItems = new ObservableCollection<GroupClass>();
如果我的类的所有属性都是简单属性(字符串、整数、...),那么在我的报告中表示这个列表是没有问题的。但我的问题是,在这个类中我也有一个列表:
public class GroupClass
{
public string GroupName { get; set; }
public ObservableCollection<ItemPattern> ItemsGroup { get; set; }
}
public class ItemPattern
{
public string ItemName { get; set; }
public string ItemValue { get; set; }
}
要在我的 WPF 窗口中显示此信息,我没有问题,但我不知道如何在 ReportViewer 中简单地表示列表列表。 目前,listOfItems 最多可以有 20 个元素。而 ItemsGroup 也可以达到 20 项。
我能想到的唯一方法是在报表中创建20个表,并创建20个DataSet,通过以下方式将它们绑定到我的每个元素:
this.GroupBindingSource.DataSource = listOfItems[0].ItemsGroup;
if (listOfItems.Count > 1)
{
this.GroupBindingSource2.DataSource = listOfItems[1].ItemsGroup;
if (listOfItems.Count > 2)
{
this.GroupBindingSource3.DataSource = listOfItems[2].ItemsGroup;
...
if (listOfItems.Count > 19)
this.GroupBindingSource20.DataSource = listOfItems[19].ItemsGroup;
}
}
有人可以指导我使它更容易和可维护吗?
【问题讨论】:
标签: c# rdlc reportviewer