2013-10-03 77 views
1

我無法在需要時正確銷燬數據表。Datatables破壞問題

Here is what my page currently looks like.

這個表有一個數據表根據需要其正常工作。

當您在此處選擇帳戶並移至概覽選項卡時,它將顯示您在另一個數據表中選擇的所有帳戶。

enter image description here

這裏的數據表工作正常的第一次,當我使用此代碼生成它:

   oTable1 = $('#overviewAccounts').dataTable({ 
       "bFilter": false, 
       "bInfo": true, 
       "bLengthChange": false, 
       "bSort": false, 
       "sPaginationType": "bootstrap", 
       "iDisplayLength": 10 
      }); 

但是,如果我再回到第一個選項卡,改變我想要的帳戶,然後回到概述,它會拋出一個關於無法重新創建表的錯誤。

我試過使用bDestroy和bRetrieve,並且兩者都發生同樣的事情。

對於每次點擊總覽選項卡上的最新數據,您能夠重新創建此數據表的建議是什麼?

回答

2

我會這樣做。
1 - 設置與數據表的表函數裏面並調用它:

function setTable(){ 
$('#overviewAccounts').dataTable({ 
       "bFilter": false, 
       "bInfo": true, 
       "bLengthChange": false, 
       "bSort": false, 
       "sPaginationType": "bootstrap", 
       "iDisplayLength": 10 
}); 
} 
setTable(); 

然後,你的動作使用後:

$('.overview').on('click', function(){ 
    $('#overviewAccounts').dataTable().fnDestroy(); // Destroy DataTables from current table 
    setTable(); // Restore DataTables in current table 
}); 
+2

使用$( '#overviewAccounts')的dataTable()。 fnDestroy()的作品。就我而言,對於大型表格(1000行)。銷燬方法非常緩慢。那裏有任何解決方法? –