在 ReportViewer 中表示 "list of lists"
Represent a "list of lists" in a ReportViewer
我想在我的一个 ReportViewer 中表示列表列表。
我的情况示例如下:
在我的代码中,我有一个特定 class 的元素列表。
例如:
ObservableCollection<GroupClass> listOfItems = new ObservableCollection<GroupClass>();
如果我的 class 的所有属性都是简单属性(字符串、整数、...),那么在我的报告中表示此列表没有问题。但我的问题是,在这个 class 中,我还有一个列表:
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 中显示此信息 window 我没问题,但我不知道如何在 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;
}
}
有人可以指导我让它更容易维护吗?
我想在我的一个 ReportViewer 中表示列表列表。
我的情况示例如下: 在我的代码中,我有一个特定 class 的元素列表。 例如:
ObservableCollection<GroupClass> listOfItems = new ObservableCollection<GroupClass>();
如果我的 class 的所有属性都是简单属性(字符串、整数、...),那么在我的报告中表示此列表没有问题。但我的问题是,在这个 class 中,我还有一个列表:
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 中显示此信息 window 我没问题,但我不知道如何在 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;
}
}
有人可以指导我让它更容易维护吗?