完全禁用handsontable

Posted

技术标签:

【中文标题】完全禁用handsontable【英文标题】:Completely disable a handsontable 【发布时间】:2014-04-22 14:12:32 【问题描述】:

我刚刚开始使用带有 JSON 数据的 handsontable,它的效果很好,但我需要禁用对某些用户的所有表格输入(只读视图)。

有没有办法,所以没有任何输入响应并且删除行插件不起作用?我试过http://dougestep.com/dme/jquery-disabler-widget-demos,这似乎不起作用,http://malsup.com/jquery/block/#element,但它实际上在控件上创建了一个 iframe 覆盖,并且使用 removerow 插件,位置设置不正确。

【问题讨论】:

您是否尝试过只读选项? github.com/warpech/jquery-handsontable/wiki/Optionshandsontable.com/demo/readonly.html 我已经考虑过了,但是在列级别设置只读然后专门禁用删除行插件会很麻烦。我希望在表级别有办法。 您可以使用级联选项禁用整个表吗? github.com/warpech/jquery-handsontable/wiki/… 什么是删除行插件? 【参考方案1】:

为了完全“禁用” Handsontable,我做了以下操作:

hot.updateSettings(
    readOnly: true, // make table cells read-only
    contextMenu: false, // disable context menu to change things
    disableVisualSelection: true, // prevent user from visually selecting
    manualColumnResize: false, // prevent dragging to resize columns
    manualRowResize: false, // prevent dragging to resize rows
    comments: false // prevent editing of comments
);

【讨论】:

@PatrikKarisch 感谢您编辑我的代码以更改我错误地复制了false 的一些明显愚蠢的地方,我的意思是true...!并且没有对我大喊大叫!因为我的代码所做的要点很有用,即使我显然没有仔细查看我粘贴的内容...... 不客气!您的代码非常有用,因为它完全禁用了表格并且看起来也很漂亮。 readOnly: true 只会留下选择,所以如果没有您的所有其他选项,它不会感觉真的被禁用:) 这个值得上!我希望你不介意,我也改变了你的 JS 语法;) 我的语法不是“整洁”的原因,我有“错误的小故障”,是在我的代码中,每个属性都是根据需要单独完成的,我必须将所有设置收集在一起这里。我很高兴您的更改是正确的,并使独立代码更整洁。 如果你在 React 中使用 handsontable,你可以通过 <Handsontable ref=>/*ref.hotInstance*//> 访问 hot 对象【参考方案2】:

您可以使用 updateSettings

执行此操作
var hot = $("#exampleGrid").handsontable('getInstance');
hot.updateSettings(
        readOnly: true
    );

检查以下链接: http://jsfiddle.net/Hn3Zv/

【讨论】:

这是一个好的开始,但只会禁用单元格编辑。右键单击仍然会给出“上下文菜单”,可以从中插入/删除行/列等。将contextmenu: false 添加到updateSettings() 以摆脱它。 抱歉,确切地说必须contextMenu(大写“M”)而不是contextmenu(同样适用于readOnlyreadonly )。所有小写​​版本似乎适用于“大多数”点击,但并非总是如此。

以上是关于完全禁用handsontable的主要内容,如果未能解决你的问题,请参考以下文章

如何完全禁用 Qt Creator 中的 QML 调试器?

完全禁用handsontable

如何在 Android 中完全禁用上下文操作栏?

有没有办法完全禁用 pixman

如何完全禁用任何鼠标单击

如何完全禁用 JTextPane 的文本突出显示?