制表符更新列数据
tabulator update column data
我已经 table 设置了带有未知数据(从文件中提取)的 Tabulator,所以我无法为它设置列定义,除了适用于任何类型数据的一般设置.
现在我需要为列 code
下的每一行添加特定代码,这些代码包含在现有的 table.
中
我想在第一行添加类似 SX0001
的代码,然后每行添加 1,这样第二行看起来像 SX0002
我检查过这个 link http://tabulator.info/docs/4.1/update#alter-replace 我看到一些函数适用于行但不适用于列。
我正在努力实现的解决方案:-
link 包含在 updateData 函数下,我需要 index 和默认值 (Id)
考虑到我不确定它可能具有或包含在 table 中的日期类型,我使用此代码添加了一个新列
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;
有没有办法做到这一点?
您可以使用 getData 函数检索存储在 table 中的数据。
var data = table.getData();
这将 return 一个数组,其中包含 table 中每一行的数据对象。
然后为了得到你的长度就做data.length
如果要计算 table 数据,getDataCount 正是为此,其中 returns table:
中的行数
var count = table.getDataCount();
但实际上您当前的方法会导致 table 在您更新行数据时被重绘很多次。
突变体
您应该考虑使用 Mutator,这些允许您在数据进入 table 时更改数据,因此在这种情况下您可以这样做:
//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}
通过使用这种方法,值是在数据加载到 table 时设置的,不需要重新绘制,整个过程效率更高
我已经 table 设置了带有未知数据(从文件中提取)的 Tabulator,所以我无法为它设置列定义,除了适用于任何类型数据的一般设置.
现在我需要为列 code
下的每一行添加特定代码,这些代码包含在现有的 table.
我想在第一行添加类似 SX0001
的代码,然后每行添加 1,这样第二行看起来像 SX0002
我检查过这个 link http://tabulator.info/docs/4.1/update#alter-replace 我看到一些函数适用于行但不适用于列。
我正在努力实现的解决方案:- link 包含在 updateData 函数下,我需要 index 和默认值 (Id)
考虑到我不确定它可能具有或包含在 table 中的日期类型,我使用此代码添加了一个新列
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;
有没有办法做到这一点?
您可以使用 getData 函数检索存储在 table 中的数据。
var data = table.getData();
这将 return 一个数组,其中包含 table 中每一行的数据对象。
然后为了得到你的长度就做data.length
如果要计算 table 数据,getDataCount 正是为此,其中 returns table:
中的行数var count = table.getDataCount();
但实际上您当前的方法会导致 table 在您更新行数据时被重绘很多次。
突变体
您应该考虑使用 Mutator,这些允许您在数据进入 table 时更改数据,因此在这种情况下您可以这样做:
//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}
通过使用这种方法,值是在数据加载到 table 时设置的,不需要重新绘制,整个过程效率更高