【问题标题】:Handsontable Hide Rows and Bold Changed ValuesHandsontable 隐藏行和粗体更改值
【发布时间】:2014-07-17 19:09:26
【问题描述】:

我正在使用handsontable 来更改二维数组中的信息。由于数组的大小,我需要有一个滚动条,否则复选框和其他更改需要大约 3 秒才能响应。我使用的代码在没有滚动功能的情况下可以正常工作,但由于上述原因,它并不是一个真正的选项,除非我拆分数组并将它们一个接一个地放在单独的表中,以便它显示为一个表,但这会导致其他问题所以宁愿保留滚动条。

渲染器查看的每一行都有复选框。选中时,该行获得类selected,否则每一行都有类notSelected

Handsontable.renderers.CheckboxRenderer.apply(this, arguments);
if(value==false || value==null) {
    $(td).parent().addClass('notSelected');
    $(td).parent().removeClass('selected');
}else if(value==true){
    $(td).parent().addClass('selected');
    $(td).parent().removeClass('notSelected');
}   

有两个按钮使用此按钮,一个仅显示具有 selected 类的行,另一个将表返回到包含所有行的先前版本,同时将 selected 类保留在具有它的那些上。使用下面的代码。

$("#showSelected").click(function() {
    $(".notSelected").hide();
});

$("#showAll").click(function() {
    $(".notSelected").show();
});

由于滚动窗口只渲染出现在屏幕上的行,因此只显示当前窗口中选择的行,我可以向下滚动并渲染两个类的随机数量的行。

另一个问题是,当我将已更改的单元格中的值加粗时,相同位置的单元格也会变为粗体,例如,如果我更改第 4 行第 5 列中的单元格,那么当我向下滚动每个值时在第 4 行中,第 5 列虽然没有更改,但仍变为粗体。我正在使用此处找到的代码:How can I change the color of a changed cell in Handsontable? 有没有办法在保持滚动条的同时解决这两个问题?有没有办法知道最近更改的单元格是什么?还是我只需要尝试解决拆分数组和制作多个表的问题?

编辑:感谢更新突出显示代码的人,我现在可以正常工作了。现在只需要隐藏和显示行。

【问题讨论】:

  • 我已经更新了我对之前question的回答
  • @AbrahamUribe 这似乎工作得很好。感谢那。现在我只需要解决隐藏行的问题。

标签: jquery handsontable


【解决方案1】:

解决了。由于 Handsontable 的工作方式,无法找到隐藏行的方法,因此这会复制我的数组 data,然后通过它进行交互,拼接任何已取消选中或未更改的行。

$('#showSelected').click(function(){
    dataTemp = $.extend(true, [], data);
    for(var i=0;i<data.length;i++){
        if(data[i][1]==false||data[i][1]==null){
            var unselected = data.splice(i,1);
            i--;
        }
    }
    $(".handsontable").handsontable('render');
});

为了再次显示所有内容,由于代码中的其他原因,我只是将 dataTemp 数组放回 data,因此如果对其他人来说不是问题,您可以将 dataTemp 放入 loadData

$("#showAll").click(function() {
    var ht =$(".handsontable").handsontable('getInstance');
    data=$.extend(true, [], dataTemp);
    ht.loadData(data);
    $(".handsontable").handsontable('render');
});

【讨论】:

    猜你喜欢
    • 2015-11-06
    • 2017-04-27
    • 2013-11-26
    • 2018-12-16
    • 2015-05-01
    • 1970-01-01
    • 2015-02-28
    • 2016-04-03
    • 1970-01-01
    相关资源
    最近更新 更多