将数据复制到handontable是否有行限制?

时间:2014-02-18 13:17:20

标签: javascript handsontable

当从excel中将sevreal千行复制到handsontable时,它会抛出

Uncaught Error: Security brake: Too much TRs. 
Please define height for your table, which will enforce scrollbars. 

我在构造函数中设置高度

var options = { 
 height       : 340, 
 minSpareRows : 1,
 minSpareCols : 1,  
 colHeaders   : false,
 contextMenu  : true,
 columnSorting: true,
 ...
} 

同样的错误 - 有什么方法可以克服这个问题吗?

第二,我怎样才能发现这个错误?

3 个答案:

答案 0 :(得分:0)

我刚用handontable进行快速测试,使用14列,我能够加载大约1200行。这表明细胞数约为16000。

您可以通过添加由handontable粘贴时触发的回调来尝试延迟或延迟加载数据。

否则,你可以在粘贴时使用回调来检查剪贴板上数据的长度,如果它太大则显示错误。

var clipText = window.clipboardData.getData('Text');

这允许您通过javascript访问剪贴板中的文本。

答案 1 :(得分:0)

关于显示滚动条的第二个问题:

$("#myHandsontable").bind('paste', function () {
    $('#updateProgress').show();
});

然后在构造函数中使用after change事件:

$("#myHandsontable").handsontable({
    ...
    afterChange: function(changes, source) {
        if (source == "paste") {
            $('#UpdateProgress').hide();
        }
    }
});

虽然您应该尝试最新版本的handontable,但它们确实在将数据粘贴到表格中所花费的时间上有了很大的改进。

答案 2 :(得分:0)

我刚刚遇到这个问题,由于错误的措辞,它有点误导,

  

错误:安全制动:TR过多。请为您定义高度   表,它将强制执行滚动条。

错误表明定义高度会强制滚动条,但事实上,我通过定义一个足够小的高度来修复它,因此滚动条被强制放在桌面上。

希望我的版本更有意义...... 一切似乎都很好。