Сортировка по столбцам с одинаковыми значениями

Я использую эту https://github.com/VadimDez/ngx-order-pipe чтобы применить сортировку к таблицам моей страницы. Вот мой компонент.

 sortTable(value) {
    if (this.order === value) {
      this.reverse = !this.reverse;
    }
    this.order = value;
  }

HTML:

       <table>
      <thead>
        <tr>
          <th (click)="setOrder('name')">Name</th>
          <th (click)="setOrder('age')">Age</th>
          <th (click)="setOrder('score')">Score</th>
          <th (click)="setOrder('percent')">Percent</th>
        </tr>
      </thead>
      <tbody>
        <tr *ngFor="let Data of collection | orderBy: order:reverse:'case-insensitive'">
          <td class="text-truncate">{{Data.name}}</td>
          <td class="text-truncate">{{Data.age}}</td>
          <td class="text-truncate">{{Data.score}}</td>
          <td class="text-truncate">{{Data.percent}}</td>

       </tr>
     </tbody>
   </table>


"collection": [
            {
                "name": "John",
                "age" : "25",
                "score": 12,
                "percent": 5.2%


            }
            {
                "name": "Mark",
                "age" : "19",
                "score": 12,
                "percent": No Value
            }
            {
                "name": "Peter",
                "age" : "21",
                "score": 12, 
                "percent": 1.8%
            }

Когда в таблице есть столбец с одинаковыми значениями (это динамические данные, которые имеют тенденцию изменяться), сортировка не должна ничего делать. Но здесь, когда я нажимаю на оценку, она сортирует две другие колонки. Как я могу это реализовать?

Кроме того, для столбца процентов, он имеет значения процентов, а также текст. Как применить сортировку к столбцу этого типа, в котором есть цифры и текст?

0 ответов

Другие вопросы по тегам