VS2010求解?rdlc 子报表代码怎么写

privatevoidForm1_Load(objectsender,EventArgse){//主报表中有添加子报表控件。有设置参数:①子报表名Report2,②参数E... private void Form1_Load(object sender, EventArgs e)
{
//主报表中有添加子报表控件。有设置参数:①子报表名Report2,②参数EmployeeID=First(Fields!EmployeeID.Value, "Employee")。
//子报表中有设置过滤器:(子表外键)EmployeeID=@EmployeeID(传入参数)

// TODO: 这行代码将数据加载到表“EimMouldDBDataSet.Employee”中。您可以根据需要移动或删除它。
this.EmployeeTableAdapter.Fill(this.EimMouldDBDataSet.Employee);
//添加事件:在主报表中Load子报表的时候发生的事件
this.reportViewer1.LocalReport.SubreportProcessing+=new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
//显示报表 this.reportViewer1.RefreshReport(); } //上面添加的事件
public void LocalReport_SubreportProcessing(object o,Microsoft.Reporting.WinForms.SubreportProcessingEventArgs e){
//获取主报表中的参数,纠结,参数值没有变化,这是为什么?
string txt = e.Parameters["EmployeeID"].Values[0];
//报表参数类型,将上面获得的的参数值转成报表参数
ReportParameter rp = new ReportParameter("EmployeeID", txt);
//MessageBox.Show(txt);
//将报表参数传入到报表显示控件中,这里一定是有问题的,因为报错。。。
//单是报错不算什么,主要的事感觉参数是应该传入到子报表才是,怎么是给控件呢?但是这里我不知道怎么获取子报表对象。
reportViewer1.LocalReport.SetParameters(new ReportParameter[] { rp });

}
展开
 我来答
oreoconansisu
2011-03-21
知道答主
回答量:15
采纳率:0%
帮助的人:13.1万
展开全部
首先这步是正确的,要在代码中加入
this.reportViewer1.LocalReport.SubreportProcessing += new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
关键是后面
private void LocalReport_SubreportProcessing(object sender, Microsoft.Reporting.WinForms.SubreportProcessingEventArgs e)
{
e.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1_Test", this.dsOrders.Tables["test"]));
}
这是我平时测试的一个例子
LocalReport_SubreportProcessing里面不需要考虑参数的
这个方法是为了给子报表提供数据源
这是必须的不然子报表肯定出不来

e.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1_Test", this.dsOrders.Tables["test"]));

DataSet1_Test -> 表示子报表数据源dataset名字
this.dsOrders.Tables["test"] -> 后面这个就是张datatable,这里的是我这个例子的datatable,你只要将你子报表数据的datatable放在这个位置即可

e.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource(1,2)
将上面2个需要配置的地方依次放入1,2的位置即可
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式