代表ReportViewer中的“列表列表”

时间:2018-07-12 08:58:51

标签: c# rdlc reportviewer

我想在一个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;
    }
}

report example

有人可以指导我使其更容易维护吗?

1 个答案:

答案 0 :(得分:0)

相关问题