2011-07-21 8 views
2

フィルタを備えたいくつかの列を持つグリッドがあります。 列はdefination:Extjs 4フィルタフィーチャとステートフルグリッド

ここ
columns:[{ 
       text: "Number", 
       dataIndex: 'clientreference', 
       width: 200, 
       filter: true, 
       sortable: true 
      }, 

は、フィルタ機能defination

features: [{ 
       ftype: 'filters', 
       encode: true, 
       local: false 
      }], 

で問題がある:私は、グリッドの状態を保存しようとしている場合は、フィルタが動作していない:私はこのコードを追加する場合グリッド:

stateful: true, 
stateId: 'documentsGrid', 

私はページを更新し、私は私のクッキーの状態を持っていけないので、すべては、正常に動作します。 しかし、ページを2度目に更新すると、Cookieやフィルタからの状態の読み込みが機能しません。 ステートフル:trueを削除してページを更新すると、フィルタが正常に動作しています。 提案がありますか? また、extjsサイト内のすべての例は、フィルタまたはステートフルグリッドでのみ表示されていますが、両方の例はありません。

UPDATED: 最も有用な方法は、必要な要素の状態を保存して復元するための独自の方法を作成することでした。

答えて

0

あなたはgrid.Butで機能を指定していると思いますが、ストアでフィルタを直接指定することができます。グリッド設定オプションでストアとステートフルのフィルタを定義しようとします。

+0

同じ機能を持つストアでフィルタを定義するにはどうすればよいですか? –

+0

一度URLを確認してください:http://docs.sencha.com/ext-js/4-0/#/api/Ext.data.Store-property-filters – Unknown

+0

手動でテキストフィールドを作成する必要があるので、便利ではありません私のグリッドの各列に対して、フィールドからstore.filtersまでのすべてのフィルタを手動で設定する必要があります。また、filter:{type: 'date'}のようなフィルタはどうでしょうか?カレンダー付きの3つのフィールドがあります。したがって、多くのデータ列で異なるフィルタを使用することは非常に困難です。 –