我有一个非常讨厌的问题,隐藏并在handsontable中显示一些行。 非常简化的场景,我需要根据某些业务条件隐藏和显示行。
我正在使用trimRows和untrimRows,总体来说效果很好,直到关闭列排序。 如果它被启动,那么在untrim / trim方法调用和重新呈现网格之后,网格中会出现空行。
请参阅小提琴:http://jsfiddle.net/n8ggsbob/13/
columnSorting: {
column: 0,
sortOrder: true
}
var fake = [1, 2, 3, 4, 5, 6, 7, 8, 10];
hot.getPlugin('trimRows').untrimRows(fake);
hot.getPlugin('trimRows').trimRows(fake);
hot.render();
点击提交按钮,注意出现了很多空行(或者只是没有删除)
但如前所述,如果我删除所有作品的排序:http://jsfiddle.net/n8ggsbob/14/
var fake = [1, 2, 3, 4, 5, 6, 7, 8, 10];
hot.getPlugin('trimRows').untrimRows(fake);
hot.getPlugin('trimRows').trimRows(fake);
hot.render();
唯一能帮助那些空行外观的是调用updateSettings方法,但是正在重置排序:http://jsfiddle.net/n8ggsbob/16/
var fake = [1, 2, 3, 4, 5, 6, 7, 8, 10];
hot.getPlugin('trimRows').untrimRows(fake);
hot.getPlugin('trimRows').trimRows(fake);
hot.updateSettings({});
hot.render();
有人遇到类似的问题,或者我只是遗漏了什么?
非常感谢, 亚历
答案 0 :(得分:0)
我不确定你为什么要先解开并在之后修剪:
hot.getPlugin('trimRows').untrimRows(fake);
hot.getPlugin('trimRows').trimRows(fake);
但无论如何,这就是你问题的原因。删除第一个示例中的untrimRows函数,您将看到问题将消失。
同样,我不确定你想要实现什么,但是,例如,如果你有两个按钮,一个用于隐藏,另一个用于再次显示,则与sort函数没有冲突:{{ 3}}