Сортировка по столбцам с одинаковыми значениями
Я использую эту 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%
}
Когда в таблице есть столбец с одинаковыми значениями (это динамические данные, которые имеют тенденцию изменяться), сортировка не должна ничего делать. Но здесь, когда я нажимаю на оценку, она сортирует две другие колонки. Как я могу это реализовать?
Кроме того, для столбца процентов, он имеет значения процентов, а также текст. Как применить сортировку к столбцу этого типа, в котором есть цифры и текст?