你如何正确处理DataTables中的空值?

时间:2018-02-21 23:09:55

标签: javascript jquery tsql datatables

我正在努力理解DataTables文档,我正在寻找示例,但我不知道如何处理空值。

在SQL中,我将一个JSON字符串发送回我的JS应用程序。我发现我必须使用INCLUDE_NULL_VALUES - 所以,我不再错过JSON数组/对象中的任何内容。

以下是我填充表格的方式。我的ary是一个对象数组,其数据如下:

ary = [{"Effective Date":"2001-07-01","Schedule":"UR-FUPA","Description":"High Up Dude","Calculated":"No","Base Schedule":"","Factor":null}, {...}, {...}]

$("#tblSomeTable").DataTable({
    "data": ary,
    "columns": [
        {
            "data": "Effective Date"
        },
        {
            "data": "Schedule"
        },
        {
            "data": "Description"
        },
        {
            "data": "Calculated"
        },
        {
            "data": "Base Schedule"
        },
        {
            "data": "Factor"
        }
    ],
    "columnDefs": [{
        "targets": _all,
        "defaultContent": ""
    }],
    "paging": false,
    "ordering": true,
    "info": false,
    "searching": false,
});

那么,如果单元格没有数据,如何将默认内容设置为空字符串?

您可以在上面看到我尝试使用“defaultContent”选项来定位所有列,但这不起作用。

我总是感谢你的帮助。我不是要求你做我的工作,我只是需要一个我能理解的例子,以及你在正确方向上的指导。

2 个答案:

答案 0 :(得分:2)

您需要将_all指定为stringtarget选项需要integerstring值。

所以只需将columnDefs更新为`

"columnDefs": [{
    "targets": '_all',
    "defaultContent": ""
}],

您的示例分叉jsfiddle工作演示: https://jsfiddle.net/mmushtaq/5pgp2479/

来源:columnDefs.targets

答案 1 :(得分:0)

我不相信目前支持在columnDefs中设置defaultContent。您需要按列设置它。