2017-01-03 4 views
0

異なる列の値に基づいて列をフィルタリングできるようにしたいと考えています。剣道グリッド:プロパティの列とは異なるプロパティのフィルタはバインドされています

IDプロパティに列をバインドし、名前(テンプレートを使用)を表示しています。ユーザーがフィルタリング/並べ替えを行うと、バインドされたプロパティ(ID)の値が使用されます。私は別のプロパティ/列の値を使用したい。

私はすでにソート処理する方法を考え出した(kendo.ui.GridColumnSortable)ためcompare機能を使用しますが、フィルタを処理するための方法を見つけることができません

PS:私はfilterMemberPathsortMemberPathを使用してみましたが、彼らはサーバー側のみのために働くように見えますフィルタリング/ソート

+0

filterMenuInitを使用し、フィルタボタンをクリックしてイベントを結合する作品グリッドui? –

+0

グリッドUIを使用 –

+0

バーチャルスクロールを有効にしましたか? –

答えて

0

剣道のサポートに話し、この問題を処理するためのいくつかの方法が見つかりました:。上記の剣道のバージョン2016.3またはを使用している場合 、filterイベントが

filterable: true, 
filter: function(e) { 
      if (e.filter.filters[0].field == "age") { 
      e.preventDefault(); 
      this.dataSource.filter({ field: "name", operator: "startswith", value: "Jane" }); 
      } 
を使用することができます

が、剣道のバージョン2016.1以下を使用している場合は、次のようなアプローチでは、コードでグリッドをフィルタリングしているか、それはを通して、ユーザによってフィルタリングされます

filterable: true, 
filterMenuInit: function(e) { 
      var button = e.container.find(".k-primary"); 
      var fieldName = e.field; 
      var grid = this; 

      button.on("click", function(e) { 
      e.preventDefault() 
      grid.dataSource.filter({ field: "name", operator: "startswith", value: "Jane" }); 
      }); 

     }, 
関連する問題