данные столбца обновления табулятора - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть таблица, настроенная с помощью Tabulator с неизвестными данными (извлеченная из файла), поэтому я не могу выполнить настройку определений столбцов, за исключением общей настройки, которая работает с любыми данными.

Теперь я нахожусь в ситуации, когда мне нужно добавить определенный код для каждой строки в столбце code, который включен в существующую таблицу.

Я искал, чтобы добавить код, похожий наSX0001 в первой строке и просто добавьте 1 в каждой строке, чтобы вторая строка выглядела как SX0002

Я проверил эту ссылку http://tabulator.info/docs/4.1/update#alter-replace Я видел некоторые функции, которые работают со строкамино не столбцы.

решение, которое я пытаюсь достичь: - ссылка включает в себя функцию updateData , для которой мне нужен индекс со значением по умолчанию (Id)

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

table.addColumn({title:"id", field: "id" , formatter:"rownum",width:40, align:"center"} , true)

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

var no = 1000;
var str = "SX";
var x = str + no ;

table.updateData([{id:1, code:x}]);
var no = no +1;

есть ли в любом случае это сделать?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Если вы хотите посчитать данные таблицы, то getDataCount именно для этого, который возвращает количество строк в таблице:

var count = table.getDataCount();

Но на самом делеВаш текущий подход приведет к тому, что таблица будет перерисовываться множество раз при обновлении данных строки.

Mutators

Вместо этого вам следует рассмотреть использование Mutator , этипозволяет вам изменять данные при их поступлении в таблицу, поэтому в этом случае вы можете сделать что-то вроде этого:

//global variable to keep track of row id
var rowCount = 0;

//custom mutator
var idMutator = function(value, data, type, params, component){
  //increment rowCount and assign as column value
  return rowCount++;
}

//in your column definition set this mutator
{title:"ID", field:"id", mutatorData:idMutator}

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

0 голосов
/ 11 декабря 2018

Вы можете извлечь данные, хранящиеся в таблице, используя функцию getData.

var data = table.getData();

Это вернет массив, содержащий объекты данных для каждой строки в таблице.

Затем, чтобы получить свою длину, просто сделайте data.length

...