datatables Ширина столбца пытается разделить равномерно - PullRequest
2 голосов
/ 28 марта 2020

Работая над кодом Datatables, и я указал следующее:

{className: "editable alignCenter", "targets":"_all"}

В основном все мои столбцы идут динамически, поэтому я хочу нацелить редактируемый только столбец, который у меня есть, dataattribute где я могу идентифицировать поле - первичный ключ или поле идентификатора.

Так что я хочу изменить, что если это поле определено, оставляя это поле, все остальные поля должны быть доступны для редактирования, и это поле можно пропустить

, пытаясь так

var editableTargets = $('#layout').attr('data-array'); - this is coming as a comma seperated list like 0,1,2,3,4,5

"columnDefs": [
            {className: "editable alignCenter", "targets": [editableTargets]}
        ]

но, похоже, он не работает

@ andrewjames Спасибо за быстрый совет, он работает,

Теперь я пытаюсь найти последний массив из editableTargets и удалить класс редактируемый aligncenter, добавление к нему другого класса и добавление сортировки: false к нему

просто начните

1 Ответ

1 голос
/ 28 марта 2020

По поводу ваших обновленных заметок:

Теперь я пытаюсь найти последний массив из editableTargets, удалить редактируемый класс aligncenter класса, добавить другой класс и добавить сортировку: false к нему

Опять же, я мог неправильно понять, но ... вот несколько советов, которые могут вам помочь:

Предположим, у вас есть это:

var editableTargets  = "0,1,2,3,4,5";

Следующее код разделит это на два массива - один, содержащий только последний элемент, а другой, содержащий все остальное:

// convert to an array of numbers:
var array = editableTargets.split(",").map(Number);
// remove the last element, and capture it as "i":
var i = array.pop();
// create an array containing the last element:
var lastItem = [];
lastItem.push(i);

Итак, array это [0,1,2,3,4] и lastItem это [5].

Возможно, есть лучшие способы сделать это в JavaScript, но это должно сработать.

Теперь вы должны иметь возможность использовать их в разделе с вашими столбцами - что-то вроде этого (но у меня есть не проверял эту часть!):

"columnDefs": [
  { className: "editable alignCenter", "targets": array },
  { sorting: false, "targets": lastItem }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...