最新の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
フォーマットが必要な列は自動的に検出されますか?
上記の関数の正しい使用法は何ですか?
私のコメントで述べたように、あなたはこのようなことをしなければなりません
Datatable初期化の内部:
"aoColumnDefs": [ {
"aTargets": [ 2 ],
"mRender": function (data, type, full) {
var formmatedvalue=data.replace(//regex expression)
return formmatedvalue;
}
}]
実際には、これを行うさらに簡単な方法があります。これは、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, '') }
],
$('#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;
}