2016-07-08 6 views
3

グリッド内に計算された数値フィールドがあります。私はそれのためのカスタムエディタを使用します。フィルタエディタのすべてのフィルタ操作は正常に機能しますが、自動フィルタ行は表示テキストではなく値に応じてフィルタリングされます。 FilterModeをDisplayTextに設定することができますが、これは比較などにも使用されることがわかります。したがって、私はFilterMode DisplayTextを自動フィルタに使用する必要があります。これは可能ですか?カスタムグリッドクラスにはすでに多くのコードがありますので、追加のイベントハンドラまたは別の回避策を用意しても問題ありません。私は、例えば記憶DevExpressでのDisplayTextによるオートフィルタ

EDIT

ユーロの価格と私はそれらをユーザーの設定に応じて異なって表示します。したがって、たとえば私は値100を保存していて、 "234 abc"と表示する必要があります。 FilterMode=DisplayTextと設定した場合、実際の値と比較することはできません。 >および<である。現在、私はFilterMode=Valueを使用しており、フィルターエディターで表示された値をフィルターに変換しています。唯一の問題は、StartsWith(自動フィルタリング)であり、丸めのため=です。どうすればそれを修正できますか?

+0

詳細を入力する必要があります。たとえば、比較。あなたはこれらの事のいくつかに対して簡単にカスタムイベントを投げることができます。 DisplayTextとしてFilterModeを使用できない理由を知ることは重要です。たとえば、自動フィルタのテキストを表示するようにフィルタモードを設定できます。次に、表示テキストを見る代わりに何かを選択すると、基になるデータソースのオブジェクトを取得し、必要なプロパティを取得できます。 – Tom

+0

ユーロの価格と私はそれらをユーザーの設定に応じて異なって表示します。したがって、たとえば私は値100を保存していて、 "234 abc"と表示する必要があります。 'FilterMode = DisplayText'を設定したとき、私は実際の値を例えばと比較することはできません。 '>'と '<'です。現在、私は 'FilterMode = Value'を使用して、フィルタエディタで表示された値をフィルタリングするために変換します。唯一の問題は 'StartsWith'すなわち自動フィルターであり、丸めのために' = 'である。どうすればそれを修正できますか? – Antiohia

+0

https://documentation.devexpress.com/#CoreLibraries/clsDevExpressDataFilteringFunctionOperatortopic – Tom

答えて

1

私の問題の解決策を見つけました。値がどの程度正確にフィルタリングされ、フィルタリングにいくつか問題があったため、バインドされた列をバインドされていない列に変換しました。変換を行っているエディタを削除し、カスタム関数+表示形式でアンバウンド式に置き換えました。実際には私が探していた解決策ではありませんが、あらゆる種類のフィルタリングで機能します。

関連する問題