我使用最新的Datatables插件1.10版本。
我有3列(0,1,2)。 第1列和第2列包含的数字应格式为:
1000 -> 1.000
10000 -> 10.000
我搜索了文档,发现了这些相关的功能:
https://datatables.net/reference/option/formatNumber
https://datatables.net/reference/option/language.thousands
是否需要自动检测需要格式化的列?
上述功能的正确用法是什么?
答案 0 :(得分:15)
实际上有更简单的方法,也可以在datatables文档中找到:
"columns": [
{ "data": "ReceiptQuantity", render: $.fn.dataTable.render.number(',', '.', 2, '') },
{ "data": "ReceiptPrice", render: $.fn.dataTable.render.number(',', '.', 2, '') },
{ "data": "LineTotal", render: $.fn.dataTable.render.number(',', '.', 2, '') }
],
答案 1 :(得分:3)
$('#table-dg').dataTable({
"columns": columnNames,
"columnDefs": [
{
"render": function (data, type, row) {
return commaSeparateNumber(data);
},
"targets": [1,2]
},
]
});
function commaSeparateNumber(val) {
while (/(\d+)(\d{3})/.test(val.toString())) {
val = val.toString().replace(/(\d+)(\d{3})/, '$1' + ',' + '$2');
}
return val;
}
答案 2 :(得分:0)
正如我在评论中提到的,你必须做这样的事情
内部数据表初始化:
"aoColumnDefs": [ {
"aTargets": [ 2 ],
"mRender": function (data, type, full) {
var formmatedvalue=data.replace(//regex expression)
return formmatedvalue;
}
}]