2009-12-17 140 views

回答

12

我看過源代碼和fnAddData調用內部方法_fnAddData,它添加一行,如果成功,返回表中的索引。 _fnAddData在底部添加新行(新行的索引等於表中的行數)。

但是,fnAddData有一個可選參數來重新繪製表格,並考慮到啓用的各種功能。此參數默認爲true,這可能會導致「隨機」行爲。

5

按照kgiannakaki的說明瀏覽Datatable的源代碼。該方法會將所有新數據行附加到表的末尾。

「隨機」行爲的原因是每次添加新行時,除非另有說明,否則該方法將執行整個表的「重繪」。當這樣做時,表格會通過多個功能運行,例如過濾/排序等等,然後完全重寫到頁面。從本質上講,我會猜測你將隨機位的數據添加到新行中,無論何時添加新行,都可能會創建「隨機」效果。

通過在需要設置爲false的fnAddData調用中添加第二個參數,可以輕鬆地禁用表格重繪。

$(this).fnAddData(data, false); 

如果這個問題仍然存在,我會提交一個bug針對此問題,因爲他們沒有其他原因的行爲。

4

要禁用排序,使一個新的行會被追加到表的底部,添加

"bSort": false 

到(頂部)您的DataTable的初始化。

相關問題