У меня есть объект datatables:
var datatablesobject = $('#live_table').DataTable( {
"columns": [ {
data: null,
defaultContent: '',
orderable: false,
className: 'select-checkbox',
targets: 0
},
{ data: "status", orderable: false },
{ data: "serial" },
{ data: "version" }
],
select: {
style: 'multi'
},
} );
Я хочу, чтобы строки с version < 1
были неактивными и не могли быть выбраны пользователями. Я знаю, что в datatables есть метод selector:
, как описано в этой теме , но я не уверен, что это правильный путь к go:
select: {
style: 'os', //default but you have to specify it, no idea why
selector: 'tr:not(.no-select) td'
}
, что означало бы, что я просто добавьте идентификатор "no-select" к классу div
или около того перед проверкой, если я правильно понял. Есть ли более простой способ? Кроме того, как я могу использовать это, чтобы покрасить линию, которую я только что отменил по-разному в зависимости от аргумента?
Я нашел пример с методом createRow , но как нуб jQuery я не уверен, как применить это к моему datatablesobject
.
Какой здесь подход хорош :
var datatablesobject = $('#live_table').DataTable( {
"columns": [ {
data: null,
defaultContent: '',
orderable: false,
className: 'select-checkbox',
targets: 0
},
{ data: "status", orderable: false },
{ data: "serial" },
{ data: "version" }
],
"createdRow": function(row, data, dataIndex) {
if (data["version"] < 3) {
$(row).css("color", "red"),
// style multi for multiselect does not work
select: {
style: 'multi'
};
} else {
$(row).css("color", "grey");
} },
order: [[ 1, 'asc' ]],