HandsonTable不渲染所有行

时间:2017-03-01 18:13:45

标签: handsontable

HandsonTable不渲染所有行 - 它只加载所有行的一部分。但是当我按Ctrl + A并粘贴到Excel中时,我会看到所有行。为什么Handsontable不显示所有行?

 <hot-table col-headers="true" row-headers="true" datarows="data" context-menu  width="1080">
      <hot-column ng-repeat="column in columns" data="{{column.data}}"></hot-column>
</hot-table>

2 个答案:

答案 0 :(得分:7)

要渲染所有行,只需设置renderAllRows: true

即可

答案 1 :(得分:1)

当前答案不能回答原始问题。

Handsontable不能一次渲染所有单元,因为它被设计为对非常大的数据集有效。它使用虚拟渲染来做到这一点,动态修改DOM,使其仅包含滚动位置的单元格。

可以通过设置renderAllRows: true来禁用行虚拟渲染,如in the docs所述:"If typed true then virtual rendering mechanism for handsontable will be disabled.",尽管这样对于大型数据集而言效率不高。

您还可以更改预渲染的行和列的数量,而不是全部渲染。在performance tips中,

  

您可以显式指定要在表的可见部分之外呈现的行数和列数。在某些情况下,可以通过设置较小的数字(呈现较少的元素)来获得更好的结果,但是有时设置较大的数字也可以很好地工作(由于对每个滚动事件进行的操作较少)。调整这些设置并找到最佳位置可能会改善您的Handsontable实现的感觉。

这是通过在handsontable选项中设置viewportRowRenderingOffsetviewportColumnRenderingOffset来完成的。默认情况下,这些参数设置为auto,以便动手操作尝试查找最佳值,但可以提供整数值(例如viewportRowRenderingOffset: 70viewportColumnRenderingOffset: 70)。