行回调函数,按名称查找列,而不是按数字

问题描述 投票:0回答:2

在我的数据表中,我定义了一个行回调函数,如下所示:

'rowCallback': function (row, data, index) {
    rowCallback(row, data, index);
},

调用的 Javascript 函数如下所示:

function rowCallback(row, data, index) {
    $(row).find('td:eq(0)').css('background', data.LaborTypeColorHexValue);
}

这个效果很好。但是,我不喜欢按列号查找列。如果列顺序发生变化,我宁愿按列名称进行搜索。可以这样做吗?

datatables
2个回答
1
投票

Per https://datatables.net/reference/api/columns().names(),您可以通过列名获取索引:

var index = table.columns().names().indexOf('Salary');

然后您可以将该索引传递给 jQuery 选择器。


0
投票

数据表 1.10.0 起:您必须在列名称后使用 :name。

var index = table.column('my_column_name:name')[0][0]
var index = table.columns('my_column_name:name')[0][0]

数据表2.0.0:

var index = table.columns().names().indexOf( 'my_column_name' );

示例 v1.x.x:

table = $('#mytable').DataTable( {
    "columns": [
        { "data": "", "name": "my_column_name" }],
    //......... (name can be also set in columnDefs section.

    "rowCallback": function( row, data, index ) {
         var index = table.columns('my_column_name:name')[0][0];
         $('td:eq('+index+')', row).html( 'something' );
     }
});
© www.soinside.com 2019 - 2024. All rights reserved.