Это мой код, хотя он работает нормально при сортировке столбца валюты, я использую функцию замены. Но согласно моему коду, модель валюты будет отличаться в зависимости от страны. Для этого эта замена не подходит. Кто-нибудь, пожалуйста, помогите мне с этим?
Используя обычную таблицу html.
var comparer = function (idx, asc) {
return function (a, b) {
return function (v1, v2) {
v1 = v1.replace('$', '').replace('₹', '').replace(/,/g, '');
v2 = v2.replace('$', '').replace('₹', '').replace(/,/g, '');
return v1 !== '' && v2 !== '' && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2);
}(getCellValue(asc ? a : b, idx), getCellValue(asc ? b : a, idx));
};
Array.from(document.querySelectorAll('th')).forEach(function (th) {
th.addEventListener('click', function () {
var table = th.closest('table');
Array.from(table.tBodies[0].querySelectorAll('tr'))
.sort(comparer(Array.from(th.parentNode.children).indexOf(th), this.asc = !this.asc))
.forEach(function (tr) { table.tBodies[0].appendChild(tr) });
});
});
<table class="no-border" onclick="sortComparer()">
<thead class="no-border">
<tr>
<th><strong>Name</strong></th>
<th><strong>Surname</strong></th>
<th><strong>Gender</strong></th>
<th><strong>Class</strong></th>
<th><strong>Date</strong></th>
<th><strong>Costs</strong></th>
</tr>
</thead>
C#. ascx.cs
Бэкэнд Я использую это для добавления своей валюты в таблицу
sbBody.Append(" <td class='text-right'><strong>" + string.Format("{0:C0}", Costs) + "</strong></td>");