私はhandsontableテーブルを使用し、manualColumnMoveが真のであるので、ユーザーは列を移動できます。handcontableの最初の2つの列の移動を無効にする
しかし、この機能を最初の2つの列で無効にしたいのですが、どうすればいいですか?
私はhandsontableテーブルを使用し、manualColumnMoveが真のであるので、ユーザーは列を移動できます。handcontableの最初の2つの列の移動を無効にする
しかし、この機能を最初の2つの列で無効にしたいのですが、どうすればいいですか?
一つの方法はbeforeColumnMove、例の列を移動しないようにすることである。
function setBeforeColumnMove() {
return function(startColumn, endColumn) {
var manualColumnMove = this.getPlugin("ManualColumnMove");
if(startColumn < 2 || endColumn < 2) {
manualColumnMove.changeColumnPositions(endColumn, startColumn);
}
}
};
は、この例を見て:JSFiddle
幸運を;)handsontable 0.34.0では
ことがないようにすることができます行または列は、beforeColumnMove
hook/callbackからfalse
を返すことによって移動します。
私はJoakim Si Aliのフィドルに応じて調整しました:
document.addEventListener("DOMContentLoaded", function() {
var
data1 = [
['', 'Kia', 'Nissan', 'Toyota', 'Honda', 'Mazda', 'Ford'],
['2012', 10, 11, 12, 13, 15, 16],
['2013', 10, 11, 12, 13, 15, 16],
['2014', 10, 11, 12, 13, 15, 16],
['2015', 10, 11, 12, 13, 15, 16],
['2016', 10, 11, 12, 13, 15, 16]
],
container1 = document.getElementById('example1'),
settings1 = {
data: data1,
manualColumnMove: true,
beforeColumnMove: beforeColumnMove(),
colHeaders: true,
},
hot1;
hot1 = new Handsontable(container1, settings1);
function beforeColumnMove() {
return function(columnsMoving, target) {
if (columnsMoving[0] < 2 || target < 2) {
return false;
}
return true;
}
};
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/handsontable/0.34.0/handsontable.full.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/handsontable/0.34.0/handsontable.full.min.js"></script>
<div id="example1" class="hot handsontable"></div>