我希望在运行时在webform页面上动态设置ReportViewer。我的ReportViewer在aspx页面…上是这样的
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"
Font-Size="8pt" Height="90%"
Width="100%" OnReportError="ReportViewer1_ReportError">
</rsweb:ReportViewer>我的课看起来像这个…。
namespace S43G.CV
{
[Serializable]
public class CaseLoadForecastReportResultCV
{
public Int64 M3Fe { get; set; }
public Int64 M3Grad { get; set; }
public Int64 M6Grad { get; set; }
public Int64 M12Grad { get; set; }
public Int64 Total { get; set; }
public Int64 GroupPart { get; set; }
public Int64 Year { get; set; }
}
}在后面的代码中,我执行以下操作来运行ReportViewer…
// get a list from db
List<CaseLoadForecastReportResultCV> answer = svyCaseBllHdl.GetCaseLoadForcastReport(userInput);
// Reset the ReportViewer
ReportViewer1.Reset();
ReportViewer1.LocalReport.Dispose();
ReportViewer1.LocalReport.DataSources.Clear();
// build the Report Data Source
ReportDataSource rds = new ReportDataSource("S43G_CV_CaseLoadForecastReportResultCV", answer);
// set new values for ReportViewer
ReportViewer1.LocalReport.ReportPath = "S4_Reports/CaseLoadForecast.rdlc";
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();我得到的错误如下:
没有为数据源'CaseLoadForecastReportResultCV‘提供数据源实例。
任何帮助都会很好。
发布于 2009-12-19 08:29:17
RDLC中数据源的名称是CaseLoadForecastReportResultCV,它的前面附加了一些额外的内容。如果您只是将代码更改为
ReportDataSource rds = new ReportDataSource("CaseLoadForecastReportResultCV", answer);
应该管用的。RDLC是XML,易于阅读,您可以读取其中的数据源部分,或者在Visual中加载报表,并以报表设计器为焦点,转到报表菜单并选择datasources来查看数据源的所有名称。
https://stackoverflow.com/questions/1922744
复制相似问题