2014-02-18 9 views
2

當從Excel中複製sevreal 1000行到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, 
... 
} 

同樣的錯誤 - 有什麼辦法來克服這個?

二,如何捕獲此錯誤?

回答

0

我只用一個快速測試程序,使用14列,我能夠加載大約1200行。這表示單元格數量約爲16000.

您可以嘗試通過添加通過可調參數粘貼觸發的回調來延遲或延遲加載數據。

否則,您可以使用粘貼上的回調函數先檢查剪貼板上數據的長度,如果太大,則顯示錯誤。

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

這允許您從javascript中的剪貼板訪問文本。

+0

http://handsontable.com/demo/scroll.html - 這裏他們顯示了一個有100 000行的例子,所以這可能是您的解決方案。我忘了提到它,但錯誤最明顯是由於將大量數據粘貼到表中 – audiochick

+0

嗨@audiochick - 感謝您的迴應。我玩過這些例子,看起來像'scrollV/H:auto'穩定了這個。事情是 - 我想在將數據粘貼到網格中時顯示一個微調,你知道是否有可能從可移植的事件中捕獲原始粘貼事件嗎?我試過'beforeChange',但我認爲它會在加載gui之前觸發,並且在剪輯數據已經被處理之後 - 處理是耗時的部分,並且在開始之前應該顯示微調。 – haki

0

關於你的顯示滾動條的第二個問題:

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

然後在構造函數中使用變更後的事件:

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

雖然你應該嘗試的最新版本handsontable,他們真的讓在將數據粘貼到表格中所花費的時間方面有了巨大的改進。

+0

是0.10.3的最後一個版本? – haki

+0

是的,0.10.3是最新版本 – audiochick

0

我只是有這個問題,這是一個有點誤導,由於錯誤的措辭,

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

錯誤提示定義的高度將迫使滾動條,但事實上,我的固定它定義一個足夠小的高度,以便滾動條被強制放在桌子上。

希望我的版本更有意義... 一切似乎正常工作。

相關問題