2012-04-11 59 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