cell().invalidate()
使 DataTables 中選定儲存格的資料失效。
說明
DataTables 會保留表格中每個儲存格內容的快取資訊,以提高表格操作(如排序和搜尋)的效能。如果您修改儲存格的內容(對於 DOM 資料來源表格)或陣列/物件值(對於 Ajax/JS 資料來源表格),DataTables 不會知道發生了這種情況。此方法可用於告知 DataTables 重新從該列的資料來源讀取資訊(無論是來自 DOM 還是物件/陣列 - 無論原始資料來源是什麼)。
當變更儲存格的值時,此方法提供了使用 cell().data()
和 row().data()
的替代方案。一般來說,相較於失效方法,`data` 方法是首選,因為它們使用的程式碼較少,但當表格的資料來源是外部物件,且可以使用該物件自身的方法更新時,失效方法會特別有用。
在 DataTables 1.10.4 之前,此方法實際上會使整列失效。從 1.10.4 開始,只會使有問題的儲存格失效。
類型
function cell().invalidate( [ source ] )
- 說明
使選定儲存格中的資訊失效
- 參數
名稱 類型 可選 1 source
是 - 預設值:auto 從哪個資料來源讀取新資料。
預設情況下,DataTables 將自動從與原始讀取相同的來源讀取該列的新資料(即,DOM 來源或 Javascript 來源),但是可以使用此參數來覆蓋它,並明確告知 DataTables 應使用哪個來源來讀取新資料。如果您正在使用 Ajax 載入資料,但使用 DOM 修改儲存格的內容,則此選項可能很有用。
此屬性可以採用以下值
auto
- 使用原始資料來源data
- 使用 Javascript 資料結構dom
- 使用目前在 DOM 中保留的資料
- 傳回
DataTables API 實例,結果集中包含選定的儲存格參考
範例
遞增儲存格的值,然後使其失效並重新繪製表格
var table = new DataTable('#myTable');
$('#example tbody').on('click', 'td', function () {
this.innerHTML = parseInt(this.innerHTML) + 1;
table
.cell(this)
.invalidate()
.draw();
});
相關
以下選項直接相關,也可能對您的應用程式開發有所幫助。