Angular Параметр сортировки с умным удалением столбца slickgrid не работает должным образом - PullRequest
0 голосов
/ 20 июня 2020

В angular slickgrid сортировка по столбцам asc / des c работает нормально. Но удаление меню сортировки по заголовку столбца не работает должным образом. Когда я удаляю сортировку, набор данных должен быть сброшен до изначально загруженного представления данных. Но он сохранил последний порядок сортировки. Когда я очищаю всю сортировку по сетке, все работает нормально. Здесь я поделился своим случаем проблемы в виде файла gif, кто-нибудь, пожалуйста, помогите мне решить эту проблему.

введите описание изображения здесь

1 Ответ

1 голос
/ 20 июня 2020

Вы можете позвонить dataView.reSort();, чтобы вызвать курорт, кажется, это то, что вы ищете. Меню сетки вызывает dataView.refresh();, и я не уверен, что это вызовет reSort основной библиотекой, возможно, это так. Меню заголовка удаляет только сортировку столбцов, не зная, осталось ли сортировка, в основном не отслеживает, сколько сортировок осталось, и не вызывает reSort ни refresh, но вы можете называть это сам он будет сообщать только DataView. Эй, пожалуйста, удалите этот столбец.

Теперь, чтобы добавить дополнительный процесс в меню заголовка, вам нужно подписаться на команду меню заголовка clear-sort, вы можете сделайте это, выполнив что-то вроде этого (я не тестировал его, но он должен работать)

this.gridOptions = {
   headerMenu: {
     onCommand: (e, args) => {
       if (args.command === 'clear-sort') {
         const dataView = args.grid.getData();
         const sortCols = args.grid.getSortColumns();

         // add logic to know if this is last column sort 
         if (sortCols.length === 0) {
           // then call "refresh" or "reSort" either or
           // dataView.refresh();
           dataView.reSort();

           // if that doesn't work then try to call lib SortService from (onAngularGridCreated)
           // this.angularGrid.sortService.clearSorting();
         }
       }
   }
}  

Обратите внимание, что я являюсь автором Angular -Slickgrid, и это решение не является частью самой библиотеки , Я мог бы добавить его позже, но пока это должно быть временное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...