数据表:如何设置单元格选择器?

时间:2016-01-28 04:54:19

标签: jquery c#-4.0 datatables

我正在使用一个使用数据表(https://datatables.net/

的MVC应用程序

我想展示"批准"如果PayableAmount和InvoiceAmount的列值相等,则返回最后一列中的按钮。但如果他们不平等"细节"按钮应该显示

我知道我可以在defaultContent中使用三元运算符作为按钮的列,但是我无法获得2列的单个单元格值。

找到这篇文章:https://datatables.net/reference/type/cell-selector 但不知道如何设置/使用细胞选择器..

1 个答案:

答案 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字符串,具体取决于是否结算金额大于付费金额。

希望有所帮助。