有没有办法通过aoColumns / mData保留一个空的DataTable列?

时间:2017-01-19 19:25:52

标签: javascript jquery datatables

我有一个数据表,它是通过aoColumns和mData

生成和填充的
var dtable = $('.ssdatatable').DataTable({
    //list of datatable properties
    ,
    "aoColumns":[
        { "mData": "parameter" },
        //other columns
    ]//and other stuff

目前我正在添加一个额外的第一列,使其成为"多个复选框行选择"。

所以我在开头添加了一个额外的<th></th>(列名空白),并修改了如下脚本文件:

var dtable = $('.ssdatatable').DataTable({
    "columnDefs": [{
            orderable: false,
            className: 'select-checkbox',
            targets: 0
        }],
    "select": { style: 'multi', selector: 'td:first-child' },
    //list of datatable properties
    ,
    "aoColumns":[
        { "mData": "parameter" },
        //other columns
    ]//and other stuff

但是,由于我没有触及aoColumns部分,所有数据都被一列向左移动,从空列开始。我做了其他研究以防止这种情况,并尝试使用"mData": null。虽然它阻止了错误,并将第一列变成了我想要的一行复选框,但这些复选框上溢满了[object Object]文本。我尝试使用"mData": " ",但它会抛出空源错误。

使用aoColumns / mData组合时,是否可以将列留空?

1 个答案:

答案 0 :(得分:0)

虽然它不是一个理想的解决方案,但我设法让它发挥作用。为此,我在控制器中创建了一个源,如

q.Select(p=> new {Checkbox = "", and other stuff})

在Javascript中,我只是将Checkbox声明为第一个mData的源

"mData": "Checkbox"

瞧!现在所有不必要的文字都消失了。