2017-12-01 6 views
0

enter image description hereデータ

の検索後、私は負荷にExtJSのグリッド上に動的日付フィルタを適用しなければならない要件(iは応答から日付をフェッチ)がExtJSの列フィルタの「日付」フィルタ値を表示できません.Iはしようとしたが、それを濾過した日付が表示されないでも、それがマーキングされ、「前/後/に」これは私が使用しているコードは、あるフィルタcolumn.pleaseヘルプ

の分野

grid.filters.addFilter({ 
    type: 'date', 
    operator: "eq", 
    value: "11/15/2016", 
    dataIndex: gridCols[i].dataIndex, 
    active: true 
}); 
+1

あなたは[ '煎茶のFIDDLE'](https://fiddle.sencha.com/#view/editor)にあなたの努力を置くことはできますか? –

+0

値は日付でなければなりません。 'value:Ext.Date.parse(" 11/15/2016 "、" m/d/Y ")' – Alexander

+0

@Alexander以下に記載したコードを参照してください。 – Adithya

答えて

0
 var onDate = Ext.Date.add(new Date(dt), Ext.Date.DAY); //converting date from String to Date format. 
//variable dt has date in string format eg:"11/15/2016" 
    grid.columns[i].filter.setActive(true); 
    grid.columns[i].filter.setValue({ lt: onDate }); //lt,gt,eq are the fields of the date filter 
    grid.columns[i].filter.fields.lt.value = onDate; 
  • このようにフィルタを応答から動的に設定します。
  • しかし、日付フィルタのメニュー項目としてグリッドの イベント「afterrender」で列グリッドのメニュー負荷を確認しては文句を言わない、我々はそれに対応するフィルタを開く まで、バックグラウンドでロードします。 だから、彼らはチェックされることはありません。

    if (!grid.getView().headerCt.menu) { 
        grid.getView().headerCt.getMenu(); 
    }