0

1- ページに ASPXGridView があります。

2- データ ソースとして linq to sql クエリを使用しています。

3- 2 つの異なるテーブル データをマージします。1 つのテーブルには、他のテーブルよりも多くの列があります。匿名型を作成し、列の数が少ないテーブルに欠落している列を作成し、追加された列を空の文字列に初期化します。

4-ページがロードされると、グリッドにはデータがロードされます。

5- すべての列にヘッダー フィルターがあります。

6-ヘッダーフィルターを展開すると。空の文字列を含むすべての可能なフィルターが表示されます。

7-空の文字列を選択して[OK]をクリックすると、グリッドはフィルタリングされず、同じままです。

8- ヘッダー フィルターを再度展開すると、空の文字列のチェックがなくなっていることがわかります。

空の文字列でフィルタリングできるようにするにはどうすればよいですか?

4

1 に答える 1

0

以下のリンクで答えを見つけました。

http://documentation.devexpress.com/#AspNet/DevExpressWebASPxGridViewGridViewDataColumnSettings_HeaderFilterModetopic

また追加情報として。

linq クエリで

テーブル 1 とテーブル 2 があるとします。

表1列a、b、cがあります

表2列a、b、c、d、eがあります

グリッドでは、両方のテーブルのデータをマージしたいと考えています。表 1 には列 d と e がないため、linq で匿名型を作成し、d と e を string.empty に初期化します。

これにより、空のヘッダー フィルタ ポップアップ エントリが発生しました。それでフィルタリングしようとしても機能せず、フィルターポップアップを再度開いたときにチェックが外されていました。

列 d と e を文字列として null に初期化すると、空のエントリが消えました。

new { a = data, b= data, c = data, d = null as string, e = null as string}
于 2013-03-26T16:49:40.093 に答える