设置数据表数据的格式



我目前正在使用一个不是通过 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,");

}

最新更新