在我的数据表中,我定义了一个行回调函数,如下所示:
'rowCallback': function (row, data, index) {
rowCallback(row, data, index);
},
调用的 Javascript 函数如下所示:
function rowCallback(row, data, index) {
$(row).find('td:eq(0)').css('background', data.LaborTypeColorHexValue);
}
这个效果很好。但是,我不喜欢按列号查找列。如果列顺序发生变化,我宁愿按列名称进行搜索。可以这样做吗?
Per https://datatables.net/reference/api/columns().names(),您可以通过列名获取索引:
var index = table.columns().names().indexOf('Salary');
然后您可以将该索引传递给 jQuery 选择器。
自数据表 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' );
}
});