Сортировать столбец по заданному порядку в Syncfusion Essential JS 2 Grid для Angular 5 - PullRequest
0 голосов
/ 09 октября 2018

Функция сортировки описана в документации для syncfusion-ej2 Grid (https://ej2.syncfusion.com/angular/documentation/grid/api-column.html#sortcomparer).. Я уже реализовал ее в своем приложении Angular. Тем не менее, я не смог найти способ достичь своей цели, так как он этого не делает.работать, как я ожидал (может быть, я думаю, что неправильно).

Мне просто нужно ввести сортировку по умолчанию в сетке. Сортировка должна быть реализована в столбце «Статус», который может бытьлибо «Просрочено», «Запланировано» или «Завершено». Порядок сортировки должен следовать той же последовательности, как я упомянул. Могу ли я добиться этого, используя подобный «sortComparer»? Если да, то какие изменения я должен выполнить насуществующее решение, которое я цитировал ниже?

[HTML]

<!-- Status -->
<e-column field="statusDisplay" headerText="Status" width="85" [sortComparer]='sortComparer'>

[TS]

  public sortComparer = (reference: string, comparer: string) => {
    if (reference == "Overdue") {
      return -2;
    }
    else if (reference == "Planned") {
      return -1;
    }
    else if (reference == "Completed") {
      return 1;
    }
    return 0;
  };

1 Ответ

0 голосов
/ 11 октября 2018

Пожалуйста, измените определение sortComparer, как показано ниже.

public comparer = (reference: string, comparer: string) => {
  if (reference == "Overdue") {
   return -1;
  }
  else if (reference == "Planned") {
    if (comparer == "Overdue") {
      return 1;
    } else {
      return -1;
    }
  }
  else if (reference == "Completed") {
   return 1;
  }
  return 0;
};

http://next.plnkr.co/edit/ihwvd7a6UxXYI1N5?preview

...