私は、ローカル処理モードで Microsoft RDLC レポート フレームワークを使用する .Net 4.0 Web プロジェクトに取り組んでいます。私の問題は、動的な列名文字列配列パラメーターを使用して表形式のデータを並べ替える必要があるため、インターネットで調査したときに (申し訳ありません)私は今、私との研究のための実際のリンクを持っていません)私はこのオプションがあることを発見しました.
- インタラクティブな並べ替えを使用する - これは使用できません。並べ替え列は事前に定義されておらず、表示されていない (ヘッダーや列がない) 列がさらにありますが、並べ替えに参加しています。
- Tablix プロパティの [並べ替え] タブを使用する – これは私の問題に対する理想的な解決策ですが、問題が発生しました。
インターネットで、Tablix プロパティの [並べ替え] タブで並べ替えフィールドを 2 つの方法で指定できることがわかりました。
最初の方法は、「&」を使用してフィールドを連結することです。このような式を使用して最初の並べ替えフィールドで =Fields!Title.Value & Fields!EstimatedHours.Value これはデータを並べ替えますが、数値を文字列として並べ替えます。つまり、昇順で並べ替えると、250.00 が常に 3.6 の一番上になります。 Date などの他のデータ型ではテストしませんでしたが、同じ結果になると確信しています。
私が見つけた 2 番目の方法は、このように、Tablix プロパティ ウィンドウの [並べ替え] タブにある並べ替えフィールドごとに、並べ替えフィールド式テキスト ボックスを追加することでした。
- 最初のテキスト ボックス => =Fields!Title.Value
- On Second Text Box => = Fields!EstimatedHours.Value
このようにして、最初のテキストボックスで指定した最初のフィールドのデータのみを並べ替え、残りのフィールドを忘れます。
私の質問は、上記の並べ替えを機能させるためにここで何が欠けているのでしょうか?
皆さんの助けを借りて問題を解決できることを願っています。それが役立つ場合、Visual Studio 2010 Ultimate Edition、RDLC バージョン 10、Entity Framework 5、およびオブジェクト DataSourceControl を、カスタム オブジェクトのリストを返すカスタム メソッドで使用してレポートを作成しています。