2010-05-11 228 views

回答

0

我解决了这个错误。

我将像

this.ReportViewer.Localreport.DataSource.Add 
(new RemoteDataSource("DataSet1_Order_Details", ObjectDataSource2.ID)); 

不是数据源应以下列方式

DataSet1TableAdapter.OrderDetails od = new DataSet1TableAdapter.OrderDetails(); 
((LocalReport)e.report).Datasources.Add(new RemoteDataSource("DataSet1_Order_Details", od.get(orderid)) 
添加的数据源

这解决了这个问题,现在我能有深入的ReortViewer报告。

问候, 阿布舍克

0

我有同样的经历,这是因为我试图会见格林从错误的地方的报告,让我解释一下

  • 有在RDLC数据集报告
  • DAL中有一种方法从db获取数据
  • BAL或UI中有一个方法调用DAL方法和填充数据集。大多数情况下,这是一个独特的页面,它从用户获取一些参数并填充数据集,并最终将用户重定向到报表查看器页面。
  • 您eror出现在报表查看页面

所以以下可能会发生

  • 你直接输入没有填写数据集
  • 到的ReportViewer页面你去正确的页面并填充DataSet但inreport查看器pageyoudid不会将数据集绑定到代码后面的报表。
  • 在某些情况下,可能是因为会话过期。
+0

我没有进入报告查看器没有填充数据集。 我的第一份报告显示完美。当我点击链接时,我有钻透事件处理程序,我会尽一切努力填充数据集。看看我发布的代码以及屏幕截图。 – 2010-05-11 06:30:15

0

这个工作对我来说,也是如此,尽管真正的关键是在这里:

((LocalReport)e.report) 

就我而言,我使用:

((LocalReport)e.report).LoadReportDefinition(report_stream); 

foreach (ReportParameter rp in ((LocalReport)e.report).OriginalParametersToDrillthrough) 
     { 
      _paramCollection[rp.Name].parameterValue.AddRange(rp.Values.OfType<string>()); 
     } 
DataTable newData = GetData(); 
ReportDataSource rds = new ReportDataSource(); 
rds.Name = _datasetName; 
rds.Value = newData; 
((LocalReport)e.report).DataSources.Add(rds); 

的reportviewer处理其余部分。 @Knows不多,感谢领先。