[英]Sorting number with comma in react-bootstrap-table2
没有看到你的代码很难说。 但也许表格中的每个单元格数据都是字符串,而不是数字,这可能会导致排序异常。 我以前有同样的问题。 按数字对其进行排序,然后在排序后使用数字的格式化字符串版本填充表格单元格,如果这有意义的话。
让我们假设:
您可以按如下方式编写排序函数 ( sortFunc
):
{
dataField: 'estimation',
text: 'Estimation',
sort: true,
sortFunc: (a, b, order, dataField, rowA, rowB) => {
const numA = parseFloat(a.replace('\'', '').replace(',', '.'));
const numB = parseFloat(b.replace('\'', '').replace(',', '.'));
if (order === "asc") {
return numB - numA;
}
return numA - numB;
}
我解决了这个问题,这里是我的 Bootstrap Table 排序函数。
sortFunc: (a, b, order) => {
const numA = parseFloat(a.replace(/\,/g,''), 10)
const numB = parseFloat(b.replace(/\,/g,''), 10)
if (order === "asc") {
return numB - numA;
}
return numA - numB;
}
import ToolkitProvider, { Search } from "react-bootstrap-table2-toolkit";
import paginationFactory from "react-bootstrap-table2-paginator";
首先请检查号码或非号码。
如果你的数组里面的 number 返回 number else 是 non-number :
yourDataArray.map(function (item, x) { item._Number_of_stocks = parseInt(item.Number_of_stocks); });
排序功能在这里:
sortFunc: (a, b, order, dataField, rowA, rowB) => { if (order === "asc") { return ( isNaN(rowB._Number_of_stocks) - !isNaN(rowB._Number_of_stocks) ); } return !isNaN(rowB._Number_of_stocks) - isNaN(rowB._Number_of_stocks); },
请参阅: https : //github.com/react-bootstrap-table/react-bootstrap-table2/blob/master/docs/columns.md
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.