3

我在我的 C# 代码中设置报告数据源,如下所示:

report.SetDataSource(dataSource);

一切正常,但之后水晶报表仍会尝试连接到数据库。我虽然如果我从代码中设置数据源,那么报告就不会想要从数据库中获取更多数据。

真的是这样吗,即使在从代码报告中设置数据源之后,也会从数据库中询问更多数据?

编辑:我面临的真正问题是我有 2 份报告,一份在从代码设置数据源后从数据库中获取数据,另一份则没有。我整天都在努力解决这个问题,但还没有运气。这两个报告几乎完全相同,都使用数据库视图从数据库中获取字段,并且都使用相同的代码从代码中设置数据源。逻辑是我在代码中加载报告,从中获取所需的数据库字段并DataTable使用这些字段创建。然后我用数据填充它并将其设置为数据源:report.SetDataSource(dataSource);。对于这两个报告,代码和逻辑是相同的!只是领域不一样。。

4

2 回答 2

1

如果您有子报告。

遍历子报表并在每个子报表对象上调用 SetDataSource(dataSource)。

于 2012-07-27T17:56:36.257 回答
0
        Report.RicevutaCup r = new Report.RicevutaCup();
        System.Data.DataSet ds = CupDatasetFactory.CreaRicevutaCupDataSet(df);
        r.OpenSubreport("RicevutaCup_Prestazioni").SetDataSource(ds);

        r.SetDataSource(ds);

解决了我的问题(重新启动 IIS 后)。

于 2013-03-05T14:59:10.930 回答