从 javascript 中隐藏 handsontable 列

Hiding columns of handsontable from javascript

有什么方法可以隐藏 javascript 中的 HOT 列? 要求是要隐藏的列将作为参数出现在 javascript 中,并且相应的列将相应地显示隐藏。

HOT 有 rowHeaders 和 colHeaders,数据有 20 列。

请指教

过时的解决方案

好的,我找到了一个可能的解决方案。我在自己的系统上测试过,其实很简单。

您应该在 columns 选项中使用 customRenderer。如果您还没有,请阅读此内容。这个想法是你给每个单元格它自己的渲染器。在此自定义函数中,您可以执行以下操作:

var colsToHide = [3,4,6]; // hide the fourth, fifth, and seventh columns

function getCustomRenderer() {
  return function(instance, td, row, col, prop, value, cellProperties) {
    if (colsToHide.indexOf(col) > -1) {
      td.hidden = true;
    } else {
      td.hidden = false;
    }
  }
}

此渲染器所做的是隐藏 var colsToHide 指定的单元格。您现在要做的就是添加一个 DOM 元素,让用户选择哪个元素,因此每次呈现 table 时(这基本上发生在任何更改之后,或者需要手动触发),指定的列将被隐藏,使 data 数组保持完整,如您所述。当不在 colsToHide 中时,它们会被重新渲染,因此请确保您也能正常工作。

这里我实现了非常基本的功能。只需在输入字段中输入列的索引,然后就可以看到奇迹发生了。

http://jsfiddle.net/zekedroid/LkLkd405/2/

更好的解决方案