我在我的C#代码中设置报告数据源,如下所示:
report.SetDataSource(dataSource);
这一切都有效,但在此之后,水晶报告仍然试图连接到数据库。 我虽然如果我从代码中设置数据源,报告就不希望从数据库中获取更多数据。
这真的是这样,即使在从代码报告设置数据源之后,也会从数据库中请求更多数据吗?
编辑:我面临的真正问题是我有2个报告,一个从代码中设置数据源后从数据库中获取数据,另一个则没有。我一整天都在拉着听到这个想法,但没有运气。这两个报告几乎完全相同,都使用数据库View从数据库中获取字段,并且都使用相同的代码从代码中设置数据源。 逻辑是我在我的代码中加载报告,从中获取所需的数据库字段并使用这些字段创建DataTable
。然后我用数据填充它并将其设置为数据源:report.SetDataSource(dataSource);
。对于这两个报告,代码和逻辑是相同的!只是字段不同..
答案 0 :(得分:0)
如果您有子报告。
循环子报表 并在每个子报表对象上调用SetDataSource(dataSource)。
答案 1 :(得分:0)
Report.RicevutaCup r = new Report.RicevutaCup();
System.Data.DataSet ds = CupDatasetFactory.CreaRicevutaCupDataSet(df);
r.OpenSubreport("RicevutaCup_Prestazioni").SetDataSource(ds);
r.SetDataSource(ds);
解决了我的问题(重启IIS后)。