Невозможно отобразить значения фильтра "Дата" на фильтрах столбцов ExtJS после извлечения данных

У меня есть требование, где я должен применять динамические фильтры даты к сетке ExtJS при загрузке (я выбираю даты из ответа). Я пытался, но не показывает отфильтрованную дату и не помечает поля "до / после / на" фильтр column.please помочь

Это код, который я использовал,

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

1 ответ

     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();
    }
    
Другие вопросы по тегам