如何使用ReportViewer设计将两个DataTable添加到Tablix

Ale*_*lex 3 vb.net datatable reportviewer

我正在尝试使用ReportViewer在报表中将两个DataTable添加到表(tablix).

数据表

  • dtPrograms (名称,描述)
  • dtImprovements (改进)

我将列出一个程序列表和每个程序的改进列表.

这是我正在寻找的一个例子:

ReportViewer目标:程序及其改进

我不确定如何设计我的ReportViewer.使用Table(tablix)是一个好方法还是有更简单的方法呢?也许使用Matrix?您将如何设计包含两个DataTable的报告?

Ale*_*lex 7

详细解决方案

我手动创建了一个DataSet(ds),一个DataTable(dtTest)并用信息手动填充它.例如:

ds.dtTest.Rows.Add("Test1", "Description 1", "Improvement 1 for Test1")
ds.dtTest.Rows.Add("Test1", "Description 1", "Improvement 2 for Test1")
ds.dtTest.Rows.Add("Test1", "Description 1", "Improvement 3 for Test1")
ds.dtTest.Rows.Add("Test1", "Description 1", "Improvement 4 for Test1")
ds.dtTest.Rows.Add("Test2", "Description 2", "Improvement 1 for Test2")
ds.dtTest.Rows.Add("Test2", "Description 2", "Improvement 2 for Test2")
ds.dtTest.Rows.Add("Test3", "Description 3", "Improvement 1 for Test3")
ds.dtTest.Rows.Add("Test3", "Description 3", "Improvement 2 for Test3")
ds.dtTest.Rows.Add("Test3", "Description 3", "Improvement 3 for Test3")
ds.dtTest.Rows.Add("Test3", "Description 3", "Improvement 4 for Test3")
ds.dtTest.Rows.Add("Test4", "Description 4", "Improvement 1 for Test4")
Run Code Online (Sandbox Code Playgroud)

1.将Tablix添加到报告中

新Tablix


2.除去1列以外的所有列.保留将重复的列

在我的例子中,我在这里添加了改进列

添加改进列


3.将父组添加到改进列

我右键单击改进单元格并添加组>父组(在行组下)

添加行组


4.按名称分组

按名称分组


5.将子组添加到名称列

这是我添加我的描述的地方

将子组添加到名称列


6.添加说明

添加说明

7.删除标题

删除标题


结果

这是设计:

设计

这是最终结果: 结果