轉自 http://www.datatables.club/reference/option/deferRender.html
--
延遲渲染(deferRender)
控製表格的延遲渲染,可以提高初始化的速度。
說明
默認情況下,當DataTables加載Ajax數據或者Javascript數據( 和)時,它會提前創建所需的所有HTML元素。當加載大量的數據集時,這個操作所耗費的時間就不能忽視,特別是在舊的瀏覽器例如IE6-8中運行時。這個選項允許DataTables在需要的時候,才會創建節點(rows and cells in the table body)。 ajaxDT
dataDT
舉個例子來說明,如果你加載一個擁有10,000條記錄的數據集到表格,每頁顯示10條記錄, 如果這個選項(deferred rendering)開啟,DataTables就不會一次創建10,000行,而是只是創建10行。如果用戶使用了排序,分頁或者搜索結果會在下一次顯示的時候,才根據需要自動創建行元素。這實際上是根據分頁頁面的生命週期來分步的進行創建行。
需要注意的是,如果這個選項打開,正如大家都知道的,不是所有的行Node是可以被訪問的,所以當你使用API的方法時,例如,你就必須考慮到這個情況。下面展示了一個例子,演示在這種情況下如何使用jQuery的代理事件。 columns().nodes()DT
數據類型
這個選項用下列的數據類型賦值:
默認值
- Value:
false
示例
打開deferred rendering:
1
2
3
4
|
$( '#example' ).dataTable( { "ajax" : "sources/arrays.txt" , "deferRender" : true } ); |
jquery事件配合deferred rendering使用:
1
2
3
4
5
6
7
|
$( '#example tbody' ).on( 'click' , 'td' , function () { alert( 'Clicked on: ' + this .innerHTML ); } ); $( '#example' ).dataTable( { "ajax" : "sources/arrays.txt" , "deferRender" : true } ); |
相關
下面的選項是直接相關的,也可能是您的應用程序的開發非常有用。
Translation from DataTables.net, with permission
--
留言列表