我想在一个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;
}
}
有人可以指导我使其更容易维护吗?
答案 0 :(得分:0)