2012-03-24 22 views
0

私はVisual Studio 2010でRDLCレポートを初めて使用しています。
私はVS2010のレポート機能を使用していました。私はReportViewerを使ってReport1.rdlcを表示します。それは完全にそれを示しています。今私の要件は、実行時にレポート内のデータをフィルタリングすることです。私はthis質問を通過しますが、それは答えを理解することができません。
Report1.rdlcはコードの背後にありません。
RDLCレポートのデータをフィルタリングする方法は?

実行時にレポートのデータをフィルタするにはどうすればよいですか?

答えて

0

どのようにサーバーからデータを取得していますか?データテーブルの結果にバインドしていますか?そのような場合は、最初にデータを抽出するときにクエリをフィルタに適用して、実際のレポートで特別な処理を行う必要はありません。あなたのフィードバックパー

あなたがたDataTableを取得している場合は、その後、フィルタを適用することは

DataTable oDT = YourSQLCommandToGetData(); 
oDT.DefaultView.RowFilter = "SomeColumn = x and OtherColumn = y"; 

のような簡単なこと。そして、あなたのレポートを実行する必要があります。あなたは別のレベルにそれを取ると、あなたが不要なレコードを持っていない、あなたも、その後

DataTable oNewFilteredResult = oDT.DefaultView.ToTable(); 

のような何かができるようにしたい場合は、RDLCを呼び出すために新しいテーブルを割り当てることができます。

+0

はいデータテーブルにバインドしていますが、クエリオプションを与えないウィザードです。テーブル名を尋ねるだけです。私はSQL Serverを使用しています。 – jams

+0

@jams、改訂版の回答を参照 – DRapp

0

rdlcレポートにはデータセットを割り当て、レポートビューアのページでは、クエリをカプセル化するオブジェクトデータソース(したがって、データテーブルを持つXSDデータセット)を使用します。

クエリは自然にあなたのような、してデータをフィルタリングするために、あなたのパラメータを挿入する句、あります

WHERE (Table.Field = @Param OR @Param = A_Default_Value) 

今すぐレポートを呼び出す前のページにあなたが好きなコントロールを追加します(ドロップこれらのコントロールは、rdlcレポートのデータセットにマップされるObjectデータソースをフィルタリングするため、レポートは特定のボタンをクリックするとフィルタされます。 レポートを使用して、オブジェクトのデータソースをリフレッシュ(データバインド)し、レポートビューアでレポートを再表示します。

あなたはそれを生成する際に、そのヘッダ内のレポートのパラメータを表示することができるようにあなたは、RDLCのパラメータにフィルタリングコントロールの値をassiging検討することがあります。あなたを助け

Parameters!ParameterName.Value 

希望。

関連する問題