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

Posted

技术标签:

【中文标题】handsontable / javascript - 禁用通过拖动添加的新行【英文标题】:handsontable / javascript - Disable new rows being added by dragging 【发布时间】:2016-12-07 11:30:30 【问题描述】:

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

我尝试过使用

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

但这会阻止我使用 alter 函数添加新行。 如果这个问题相当模糊:请参阅下面的链接以获取带有可动手操作的默认 jsfiddle。单击单元格的角并向下拖动,您会看到。

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

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

创建行

提前致谢。

【问题讨论】:

【参考方案1】:

您可以添加此代码以防止在拖动单元格时创建行:

fillHandle: 
    autoInsertRow: false,
,

【讨论】:

您好,很抱歉回复晚了。不幸的是,您的回答没有解决它。我看不到这个问题的变化。不过谢谢!【参考方案2】:

编辑:看看这个fiddle。

所以我添加了这个

fillHandle: 
    autoInsertRow: false

并删除了minSpareRows: 1

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

测试:

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

注意:如果您需要水平相同的功能(也就是能够在不自动创建新的情况下水平拖动值)删除minSparecols: 1

希望这就是你要找的东西!


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

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

【讨论】:

嘿!感谢您的答复。您的解决方案确实解决了通过拖动创建新行的问题,但它也消除了通过拖动现有行轻松复制数据的能力。是否可以允许拖动现有行但在拖动时取消创建新行? 我认为您仍然可以拖动并选择多行而不创建新行。你能再解释一下吗? 基本上,如果一个单元格有一个值并且我拖动该单元格,就像我在创建新行时拖动它一样,它下面的单元格将接收相同的值(就像在 excel 中一样)。但是,现在整个拖动功能都消失了,我不能再使用该功能了。通过拖动,我的意思是当您将鼠标悬停在角落时使用小十字图标。 @adriennetacke 哦,这可能是功能冲突。让我检查一下文档,我会尽快回复您。 @Dubb 查看我的编辑。这是你要找的吗?

以上是关于handsontable / javascript - 禁用通过拖动添加的新行的主要内容,如果未能解决你的问题,请参考以下文章

从 Django POST 请求中获取表格并在 handsontable 中显示(在 javascript 中读取值)

Javascript Handsontable - 未捕获的类型错误:无法读取未定义的属性“insertBefore”

Handsontable 给出了意外的列数

Handsontable数据到sql数据库

Handsontable:jquery 合并标题,水平滚动错误

使用 Handsontable 时出现重复的标题