2012-04-11 58 views
0

我需要根据过滤器(where子句)更改我的水晶报告文件(.rpt)的查询。我怎么做到这一点(改变我的查询的where子句)? (在代码后面)如何更改水晶报表文件(.rpt)的查询?

Obs:我使用水晶报告13,.net框架4.0和C#。

+0

需要更多的细节。什么是“过滤器”,你想在查询中改变他们的结果? – Ryan 2012-04-11 18:35:41

+0

我编辑了这个问题。 – 2012-04-11 18:38:09

回答

1

一般而言,您可以通过将条件添加到报告的记录选择公式中,将条件添加到WHERE子句中。例如,如果你想在订单表匹配,比如记录,位置1和去年那么你可以这样做:

string selectFormula = "{Order.LocationID} = 1 AND {Order.Year} = 2011";

然后通过添加到您的报表定义

crystalReportViewer.SelectionFormula = selectFormula;

+0

最后一个疑问是,我知道这与问题主题不符,但我现在看到,用CR运行一些测试。我看到,对于我打开特定CR的每个查看者,CR引擎都会打开一个新连接。有一种方法可以重用打开的连接?有一种方法来操纵CR池? – 2012-04-11 19:13:38