我正在使用一个使用数据表(https://datatables.net/)
的MVC应用程序我想展示"批准"如果PayableAmount和InvoiceAmount的列值相等,则返回最后一列中的按钮。但如果他们不平等"细节"按钮应该显示
我知道我可以在defaultContent中使用三元运算符作为按钮的列,但是我无法获得2列的单个单元格值。
找到这篇文章:https://datatables.net/reference/type/cell-selector 但不知道如何设置/使用细胞选择器..
答案 0 :(得分:1)
如果您在render
数组上使用columns
函数作为最终单元格,请执行以下操作:
var example = $("#example").DataTable({
"columns": [
null,
null,
null, {
"render": function(data, type, row) {
if (numeral(row[1]) > numeral(row[2])) {
return $("<button></button>", {
"text": "Details"
}).prop("outerHTML")
} else {
return $("<button></button>", {
"text": "Approve"
}).prop("outerHTML")
}
}
}
]
});
它应该做你需要的事情。一个工作示例是here。基本上,传递给render函数的第三个变量是整个row
,在这个例子中,我使用numeral.js来解析货币格式化的数字,比较它们并返回一个HTML字符串,具体取决于是否结算金额大于付费金额。
希望有所帮助。