在handsontable中选择多个随机行

时间:2015-02-17 09:35:36

标签: javascript handsontable

我在项目中使用了handontable。连续行的选择,即使用shift键选择多个连续行的工作正常,但是当我尝试使用控制键选择随机行时,它无法正常工作。有人告诉我,没有办法在handsontable中选择多个随机行。

我们正在通过以下方式初始化handson构造函数: -

$element.handsontable({
                    columns:$scope.handsontable.columns,
                    data: $scope.handsontable.data,
                    colHeaders: $scope.handsontable.columnHeaders,
                    colWidths:$scope.handsontable.columnWidths,
                    readOnly:$scope.handsontable.readOnly,
                    fillHandle: false,
                    **currentRowClassName: 'currentRow',
                    currentColClassName: 'currentCol',**
                    variableRowHeights : false,

                    cells: function () {
                        this.renderer = $scope.gridConfiguration;
                    }
               });

.css class for handson" currentRowClassName"和" currentColClassName"提供为: -

.handsontable .currentRow {
  background-color: #66A3FF !important;
}

.handsontable .currentCol {
  background-color: #F9F9FB;
}

当看到handsontable.js时,我发现以下if block: -

if (priv.settings.currentRowClassName || priv.settings.currentColClassName) {
            instance.view.wt.selections.highlight.clear();
            instance.view.wt.selections.highlight.add(priv.selRange.from);
            instance.view.wt.selections.highlight.add(priv.selRange.to);
}

我试着评论出它的第一行(instance.view.wt.selections.highlight.clear();),这样选择就不会被清除,但即使这样也行不通。

请帮助我使用handontable选择随机(不一定是连续的)行。感谢

并尝试更改它但没有任何效果

1 个答案:

答案 0 :(得分:0)

我不认为HOT支持这种选择,但您可以使用一些DOM操作来实现它。您可以尝试创建一个.beforeMouseDown事件,如果选择了ctrl键而没有选择任何其他内容,则会将某个数组附加到当前所在的单元格中。

然后查看源代码,以便为Shift做同样的事情。我的猜测是,当按住Shift时,将SelectedCells设置为选择开始和结束之间的所有单元格。您只需要将其更改为仅开始和结束,而不是介于两者之间。