我目前正在使用一个不是通过 AJAX 填充的数据表,所以我相信我不能使用 datasrc 选项。有什么方法可以在打印之前格式化我的一列?比如通过一个函数或其他东西。非常感谢您的帮助。(通过格式化,我的意思是例如从"constructionAmount"中获取值并添加$ 和一些逗号。
$("#showDepreciationMontlhytable").DataTable({
destroy:true,
responsive: true,
autoWidth : true,
searching: true,
data: transaction.transactionDetails,
columns:[
{"data": "idRealEstate"},
{"data": "name"},
{"data": "addressState"},
{"data": "depreciationDetail.constructionAmount"},
{"data": "depreciationDetail.depreciationPercentageYearly"},
{"data": "depreciationDetail.monthsUse"},
{"data": "depreciationDetail.usefulLifeMonths"},
{"data": "depreciationDetail.amount"}
] ,
language: {
url: datatablesSpanishUrl
},
});
找到答案,有"渲染"选项,可让您根据需要格式化datta。
$("#showDepreciationMontlhytable").DataTable({
destroy:true,
responsive: true,
autoWidth : true,
searching: true,
data: transaction.transactionDetails,
columns:[
{"data": "idRealEstate"},
{"data": "name"},
{"data": "addressState"},
{"data": "depreciationDetail.constructionAmount",
"render" : function( data, type, full )
{
return currencyFormat(data,"$");
}
},
{"data": "depreciationDetail.depreciationPercentageYearly"},
{"data": "depreciationDetail.monthsUse"},
{"data": "depreciationDetail.usefulLifeMonths"},
{"data": "depreciationDetail.amount",
"render" : function( data, type, full )
{
return currencyFormat(data,"$");
}
}
] ,
language: {
url: datatablesSpanishUrl
},
});
function currencyFormat(n, currency) {
return currency + " " + n.toFixed(decimalRounding).replace(/(d)(?=(d{3})+.)/g, "$1,");
}