Запустите фильтр Slickgrid в обратном порядке. - PullRequest
0 голосов
/ 24 января 2020

Я использую slickgrid, и у меня есть строки, которые представляют группы строк. Используя функцию фильтра slickgrid по умолчанию, он фильтрует данные моей сетки в порядке от индекса 0 до индекса n . Есть ли способ запустить фильтр в обратном порядке? Это означает, что мой фильтр начинается с индекса n и go до индекса 0 ?

Я хочу сохранить строки группы, которые хочу отобразить в массиве как фильтр проходит через данные сетки. Таким образом, когда я прихожу к группирующей строке, она всегда показывает, есть ли элементы в этой группе в фильтре. Но скрыть группы строк, если в фильтре нет элементов в этой группе.

Например, если у меня есть следующие строки:

  1. ------- Собаки -------
  2. Золотистый ретривер
  3. Корги
  4. ------- Кошки -------
  5. Бязь
  6. Мейн-кун

Строки "Собаки" и "Кошки" являются группами строк. Например, если я отфильтрую букву "c" , то сетка должна выглядеть следующим образом:

  1. ------- Собаки ---- ---
  2. Корги
  3. ------- Кошки -------
  4. Бязь

Фильтрация только домашних животных с "c" в их имени. Но также и фильтрация в строке группировки "Dogs" , даже если в ней нет буквы "c".

Также, если я фильтрую по "m" сетка должна выглядеть так:

------- Кошки ------- Мейн-кун

Сокрытие "Собак" * Строка 1067 *, потому что под ней нет элементов, соответствующих фильтру.

Причина, по которой я спрашиваю, можно ли запустить фильтр в обратном порядке, заключается в том, что я видел эту проблему, опубликованную здесь ранее, и ответ был пропустите массив, используя свой собственный фильтр, отметив элементы в массиве, который вы хотите отобразить в массиве, а затем запустите функцию фильтра slickgrid для этого тега. Это означает обход массива минимум 2 раза. Если бы можно было запустить фильтр slickgrid в обратном порядке, это можно было бы выполнить за один проход. Значительно ускоряется.

...