afterAutofill イベントフックの処理を定義する。
例)
var data = [ [ "a", 1, ], [ "b", 2, ], [ "c", 3, ], [ "d", ], [ "e", ], [ "f", ], ]; var hot = new Handsontable(document.getElementById("table"), { data:data, columns: [ { type: 'text', }, { type: 'numeric', }, { type: 'text', }, ], colHeaders: [ "A", "B", "C" ], copyPaste: true, autoColumnSize: true, manualColumnResize: true, afterAutofill: function(fillData, sourceRange, targetRange, direction){ console.log("---- fillData : 対象データ"); console.log(fillData); console.log("---- sourceRange : 対象データ範囲 ----"); console.log("from (" + sourceRange.from.row + ", "+ sourceRange.from.col + ") "+ "to (" + sourceRange.to.row + ", "+ sourceRange.to.col + ") "+ "highlight (" + sourceRange.highlight.row + ", "+ sourceRange.highlight.col + ")"); console.log("---- targetRange ; 更新データ範囲 ----"); console.log("from (" + targetRange.from.row + ", "+ targetRange.from.col + ") "+ "to (" + targetRange.to.row + ", "+ targetRange.to.col + ") "+ "highlight (" + targetRange.highlight.row + ", "+ targetRange.highlight.col + ")"); console.log("# direction = " + direction); }, licenseKey: 'non-commercial-and-evaluation' });
direction は、ドラッグ操作の方向を示し、
down | 下にドラッグ |
up | 上にドラッグ |
right | 右にドラッグ |
left | 左にドラッグ |
範囲選択
下にドラッグ
afterAutofill で、任意のセルを変更するなら、
Handsontable インスタンスメソッドの setDataAtCell( row, col, value ) を実行する