[英]tabulator update column data
我用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;
反正有這樣做嗎?
您可以使用getData函數檢索存儲在表中的數據。
var data = table.getData();
這將返回一個數組,其中包含表中每一行的數據對象。
然后,要獲取長度,只需執行data.length
如果要對表數據進行計數,則為此要精確地獲取getDataCount ,這將返回表中的行數:
var count = table.getDataCount();
但是實際上,您當前的方法將導致在更新行數據時重繪該表的時間。
相反,您應該看一下使用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}
通過使用這種方法,可以在將數據加載到表中時設置值,無需重繪任何內容,並且整個過程效率更高
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.