handsontable / javascript-禁用通过拖动添加新行

Dub*_*ubb 5 javascript jquery handsontable

我有一个动态的handsontable表,这意味着可以在启动后添加数据。但是问题是,单击单元格的一角向下拖动时,可以将新行添加到表中。我将如何防止用户扩展表,同时确保我仍然可以添加新行(例如,如果人们可以与按钮交互)。

我尝试使用

afterCreateRow: function(index, amount){ data.splice(index, amount) },

但这阻止了我使用该alter函数添加新行。如果这个问题含糊不清:请参阅下面的链接以获取具有handontable的默认jsfiddle。单击单元格的一角并向下拖动,您将看到。

http://jsfiddle.net/warpech/hU6Kz/

TL; DR:拖动单元格时禁用行创建,允许使用(在代码中)行创建handsontable.alter('insert_row');

提前致谢。

adr*_*cke 2

编辑:看看这个小提琴

所以我添加了这个

fillHandle: {
    autoInsertRow: false
}
Run Code Online (Sandbox Code Playgroud)

并删除了minSpareRows: 1.

这为您提供了拖动功能,而无需自动创建行。

去测试:

如果右键单击并手动插入一行 ( Insert row below),然后使用填充手柄单击并拖动某个值到新行中,则应该粘贴该值,而不会在下面创建新行。

注意:如果您需要水平相同的功能(又名,能够水平拖动值而不自动创建新),请删除minSparecols: 1

希望这就是您正在寻找的!


将选项添加fillHandle: false到您当前的选项中。

这消除了拖动和创建新行的功能,但您仍然可以通过上下文菜单 ( contextMenu: true) 和最小备用行选项 ( minSpareRows: 1) 添加新行。