2016-04-28 4 views
2

私は小数点以下1桁のみを表示する形式の数字列を持つ剣道グリッドを持っています。グリッドが正しく上下に丸められ、正しい小数が表示されます。私が抱えている問題は、この列をフィルタリングしようとすると、フィルタはデータセット内の実際の値であり、丸められた表示値ではありません。従って、例えば。データセットの値が11.61の場合、値は11.6と表示されます。等号でフィルタで11.6を使用すると、グリッドにはレコードが表示されません。フィルターが正しく機能するようにするには、11.61と入力する必要があります。これを実際に示す道場の例を作成しました。 http://dojo.telerik.com/@elyons_nic/iyuPOフォーマットが剣道の列をフィルタリングしようとしています

おかげで、 エリック

答えて

0

クライアント側でそれらを丸めるのではなく、データセット内の数値を丸めることであろう、これを行うための最も簡単な方法。両方を処理する必要がある場合は、生の値と丸められた値の両方をクライアント側に送信することもできます(丸めた列のみをユーザーに表示する)。

独自のdataSourceフィルタリングロジックを実装することもできます。不思議なことに、剣道のドキュメントでは文字列としてfilter operatorを参照していますが、(公式に)機能を許可していないようです。あなたはそれのためにグーグル場合は、あなたは多くの人が成功し、独自のロジックを作成していることを知るでしょう(このblogを参照)

基本的に、あなたは次のように手動でフィルタを設定する必要があります:

dataSource.filter([{ 
    field: 'YourField', 
    operator: function (dataItem, filterValue) { 
     //Untested... just make sure to return true if the dataItem match your custom filter logic 
     return filterValue.toFixed(1) == dataItem; 
    }, 
    value: 16.1 
}]); 

主な課題は、適切なイベントを見つけて、ユーザーが作成したフィルターを自分のフィルターに置き換えることです。

関連する問題