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”