Как сделать сортировку ключей нечувствительной в ag-grid? - PullRequest
1 голос
/ 23 мая 2019

Я работаю в некоторых сетках и замечаю, что сортировка по всем из них чувствительна к ключам, есть ли способ изменить это.Это часть моего кода.

 columnDefs = [
{
  headerName: 'Id', field: 'id', sort: 'asc', sortable: true, filter: true,
  checkboxSelection: true, resizable: true,
},
{
  headerName: 'Name', field: 'name', sortable: true, filter: true,
  checkboxSelection: false, editable: true, resizable: true,
},
{
  headerName: 'Description', field: 'description', sortable: true, filter: true,
  checkboxSelection: false, editable: true, resizable: true,
},
  ];

Спасибо за любую возможную помощь.

Вот как я реализовал решение с помощью ## wentjun ##:

  constructor(private dialog: MatDialog, private adminService: AdminService) {}

  columnDefs = [
    {
      headerName: 'Id', field: 'id', sortable: true, filter: true,
      checkboxSelection: true, resizable: true,
    },
    {
      headerName: 'Name', field: 'name', sortable: true, filter: true,
      checkboxSelection: false, editable: true, resizable: true,
      comparator: this.customComparator,
    },
    {
      headerName: 'Description',  field: 'description', sortable: true, filter: true,
      checkboxSelection: false, editable: true, resizable: true,
    },
  ];

  customComparator(valueA, valueB) {
    return valueA.toLowerCase().localeCompare(valueB.toLowerCase());
  }

1 Ответ

4 голосов
/ 23 мая 2019

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

Например, для вашего columnDefs, если вам требуется, чтобы столбец name был отсортирован без учета регистра, мы передаем customComparator в качестве значения для свойства comparator. В вашем ngOnInit,

this.columnDefs = [
  {
    headerName: 'Name',
    field: 'name',
    sort: 'asc',  // optional, allows grid column to be sorted on init
    comparator: customComparator
  },
  // other columns
];

Затем мы определяем customComparator таким образом, что он выполняет сортировку без учета регистра. Мы делаем это путем преобразования значений в нижний регистр в пользовательском компараторе.

const customComparator = (valueA, valueB) => {
  return valueA.toLowerCase().localeCompare(valueB.toLowerCase());
};

РЕДАКТИРОВАТЬ: я разветвил и воссоздал демо из оригинальной демоверсии ag-grid, чтобы продемонстрировать использование вышеуказанного компаратора. Обратитесь к методу constructor () за соответствующей информацией.

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