![](/img/trans.png)
[英]Checkbox not showing on the Tabulator table to select row / multiple rows
[英]Tabulator moveable rows -- how to select / move multiple items at one time
使用 Tabulator 4.7,我實現了一個在表格之間移動項目的應用程序,就像這個例子:
http://tabulator.info/examples/4.7?#movable-between-tables
但是,我不知道如何 select 一次移動多個項目。 我不確定這是否可能,因為當我使用類似
selectable:5,
隨着
movableRows:true,
movableRowsConnectedTables:otherTableIDs,
movableRowsReceiver: "add",
movableRowsSender: "delete",
它不會改變行為。 任何幫助,將不勝感激!
對於在單個表中移動多行,此代碼可以解決問題。
用於標識所選行的 rowMoving 事件。
rowMoving = (row) => {
this.rowsToMove = [];
let rows = this.tableInst.getRows();
for (let row of rows) {
let rowData = _.cloneDeep(row.getData());
if (row.isSelected()) {
this.rowsToMove.push(rowData);
}
}
};
rowMoved 事件用於將 rowsToMove 插入到表中被拖到的位置。
rowMoved = (row) => {
let rowsToMove = this.rowsToMove;
let rowsOrg = this.tableInst.getData();
let rowsNext = [];
let rowsHaveBeenMoved = false;
for (let row of rowsOrg) {
if (this.isRowsToMove(rowsToMove, row)) {
if (!rowsHaveBeenMoved) {
for (let r of rowsToMove) {
rowsNext.push(r);
}
rowsHaveBeenMoved = true;
}
} else {
rowsNext.push(row);
}
}
this.tableInst.replaceData(rowsNext);
};
這個助手 function 用於查看一行是否與任何 rowsToMove 匹配。
isRowsToMove = (rows, row) => {
let match = false;
for (let r of rows) {
if (_.isEqual(r, row)) {
match = true;
break;
}
}
return match;
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.