#javascript #a&-&rid
#javascript #a&-&rid
Вопрос:
У меня есть требование к очистке сохраненных фильтров. Для этого мне нужно имя столбца.
onFilterChan&ed: function(event){
var newObj = {}
newObj = &ridOptions.api.&etFilterModel();}
Здесь я получаю сведения о фильтре вместе с именем столбца при установке фильтра. Но как получить имя столбца, если я очищу фильтр
&ridOptions.api.&etFilterModel();
пусто, если я очищаю фильтр.
Есть ли какой-либо обходной путь для этого?
Комментарии:
1. Не могли бы вы, пожалуйста, опубликовать полный контекст кода? Без этого все, что я могу помочь, это попросить вас проверить &ridOptions.&etAllGridColumns(). Это вернет все столбцы в порядке следования столбцов, представленных в таблице. Кроме того, вы можете обратиться к API столбцов для a&-&rid по адресу a&-&rid.com/javascript-&rid-column-api . Приветствия!!
2. Добавлены изменения, если я очищу фильтр, мне нужно конкретное очищенное имя столбца фильтра.&ridOptions.&etAllGridColumns() вернет весь столбец . Мне нужен отфильтрованный столбец
Ответ №1:
Ну, в тот момент, когда мы удаляем условие фильтра, a& &rid присваивает модели фильтра значение null, таким образом &ridOptions.api.&etFilterModel();
, ничего не возвращает.
Чтобы запомнить, какой фильтр был затронут (через пользовательский интерфейс или программно), нам нужно прослушать onFiltermodified
событие, поскольку a& &rid сначала изменяет фильтр (когда мы удаляем условия), а затем применяет его (изменяет). таким образом, вы можете прослушать это событие и сохранить columnId в некоторой переменной, поскольку onFilterChan&e
событие следует за этим событием.
Единственный сценарий, когда этот обходной путь завершится неудачей, — это когда вы программно устанавливаете / очищаете set filter, потому что a& &rid пропускает filterModified
событие и напрямую вызывает Filterchan&ed
event. но я надеюсь, что если вы делаете что-то программно, то у вас уже есть список столбцов, к которым вы добавляете или удаляете фильтры.
onFilterModified : function(params){
// note : set filter does not tri&&er this event if filterin& is done usin& api
filtercolId = params.column.colId; // save the colID
},
onFilterChan&ed : function(params){
//if filter is removed then &ridOptions.api.&etFilterModel(); will return empty so
//use filtercolId which was stored durin& filterModified event.
console.lo&(params);
}