我正在尝试使用ReportViewer在报表中向表(tablix)添加两个DataTable。
数据表
我将有一个程序列表和每个程序的改进列表。
以下是我正在寻找的一个例子:
我不确定如何设计我的ReportViewer。使用Table(tablix)是一个好方法还是有更简单的方法呢?也许使用Matrix?您将如何设计包含两个DataTable的报告?
答案 0 :(得分: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")
就我而言,我在这里添加了改进栏
我右键点击改善单元格并添加组>父组(在行组下)
这是我添加说明的地方
这是设计:
以下是最终结果:
答案 1 :(得分:2)
在报表设计器中,报表项可能只有一个DataSet连接到它。所以说你的Tablix名为“Tablix1”可能只有一个DataSet连接到它。但是,如果您希望在一个Tablix中显示2个数据库表中的数据,请说“Tablix1”,您只需创建一个DataSet(.xsd)文件,在那里创建一个TableAdapter并使用查询加入将您想要的两个所需表放入一个DataSet对象中,然后为报表设计器提供DataSet并将“Tablix1”连接到它。这将允许您(基本上)为1个表提供2个DataSet。
矩阵和表格之间的差异微不足道。如果我没有弄错的话,矩阵适用于你想要Column&行标题和表仅适用于常规列标题。但是,表&在.rdlc报告中,矩阵都是“Tablix”。所以两者之间没有什么大不相同的,一个只是更容易做行标题。