Reportviewer 中的子报表 Table
Subreport In Reportviewer Table
我想在报告查看器中显示工单列表,并为每张工单和整个列表提供打印功能,并将整个列表分页为 3、5 或 7 段。但我一直停留在第一步:)
我在 WindowsFormApplication
中使用 subreport
in reportviwer
。
这是我的 MainReport
和 SubReport
:
这是我设置后的代码 ReportEmbeddedResource
:
reportViewer1.LocalReport.DataSources.Clear();
ReportDataSource data = new ReportDataSource("DataSet1", dt);
reportViewer1.LocalReport.DataSources.Add(data);
this.reportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(SubreportProcessingEventHandler);
reportViewer1.RefreshReport();
SubreportProcessingEventHandler
中的代码:
int i = 0;
void SubreportProcessingEventHandler(object sender , SubreportProcessingEventArgs e)
{
DataRow dr = dt.Rows[i];
e.DataSources.Add(new ReportDataSource("DataSet1", (object)dr.Table));
i++;
}
因为我的报告应该显示两张票,这个 EventHandler
发射两张 times.Thus,我将 table(dt
) 的每一行存储在 DataRow
被命名为 dr
。似乎这个 EventHandler
只使用了第一个 DataRow
内容。结果是重复的票。这是输出:
注意:我完全确定dr
中的值。之前查过
我知道我应该告诉 SubReport
对每张票使用不同的 DataSource
,但我不知道如何实现这个目标。
任何帮助都会大大appreciated.Thank你提前。
我终于通过将参数从主报表传递到子报表解决了这个问题
我这样编辑 EventHandler
:
void SubreportProcessingEventHandler(object sender , SubreportProcessingEventArgs e)
{
e.DataSources.Add(new ReportDataSource("DataSet1", dt));
}
我想在报告查看器中显示工单列表,并为每张工单和整个列表提供打印功能,并将整个列表分页为 3、5 或 7 段。但我一直停留在第一步:)
我在 WindowsFormApplication
中使用 subreport
in reportviwer
。
这是我的 MainReport
和 SubReport
:
这是我设置后的代码 ReportEmbeddedResource
:
reportViewer1.LocalReport.DataSources.Clear();
ReportDataSource data = new ReportDataSource("DataSet1", dt);
reportViewer1.LocalReport.DataSources.Add(data);
this.reportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(SubreportProcessingEventHandler);
reportViewer1.RefreshReport();
SubreportProcessingEventHandler
中的代码:
int i = 0;
void SubreportProcessingEventHandler(object sender , SubreportProcessingEventArgs e)
{
DataRow dr = dt.Rows[i];
e.DataSources.Add(new ReportDataSource("DataSet1", (object)dr.Table));
i++;
}
因为我的报告应该显示两张票,这个 EventHandler
发射两张 times.Thus,我将 table(dt
) 的每一行存储在 DataRow
被命名为 dr
。似乎这个 EventHandler
只使用了第一个 DataRow
内容。结果是重复的票。这是输出:
注意:我完全确定dr
中的值。之前查过
我知道我应该告诉 SubReport
对每张票使用不同的 DataSource
,但我不知道如何实现这个目标。
任何帮助都会大大appreciated.Thank你提前。
我终于通过将参数从主报表传递到子报表解决了这个问题
我这样编辑 EventHandler
:
void SubreportProcessingEventHandler(object sender , SubreportProcessingEventArgs e)
{
e.DataSources.Add(new ReportDataSource("DataSet1", dt));
}