row.add()
起始版本:DataTables 1.10
向表格新增一個新的列。
描述
向表格新增資料是動態控制 DataTable 內容的核心概念,而此方法提供了執行此操作的能力。它一次新增一個列 - 若要新增多個列,可以多次呼叫此方法,或者使用此方法的複數形式:rows.add()
。
新增的列會受到套用至表格的排序和搜尋條件的約束,這些條件將決定新列在表格中的位置和可見性。
此方法會將資料新增至表格內部,但不會視覺更新表格的顯示以說明此新資料。若要更新表格的顯示,請使用 draw()
方法,此方法可以簡單地作為 row.add()
方法回傳物件的鏈式方法呼叫 - 例如 table.row.add( [ 1, 2, 3, 4 ] ).draw();
。這樣做是為了能夠輕鬆最佳化表格,以便在重新繪製表格之前可以新增多個列。
請注意,回傳值是一個 DataTables API,其中包含對新增列的參考(即,就像您使用 row()
來選取它一樣)。然後,您可以鏈式使用其他方法,例如 row().data()
來取得列的資料。row().node()
方法也可用,但只有在停用 deferRender
選項或已繪製表格時,它才會回傳節點。這是因為 deferRender
選項預設為啟用(自 2.0.0 版本起),以提高整體效能,並且導致節點僅在需要繪製時才會建立。
類型
範例
只需將新列新增至表格並重新繪製
var table = new DataTable('#myTable');
table.row
.add({
name: 'Tiger Nixon',
position: 'System Architect',
salary: '$3,120',
start_date: '2011/04/25',
office: 'Edinburgh',
extn: '5421'
})
.draw();
新增一列並取得其新建立的節點以強調它是新加入的
var table = new DataTable('#myTable');
var rowNode = table.row
.add(['Fiona White', 32, 'Edinburgh'])
.draw()
.node();
$(rowNode)
.css('color', 'red')
.animate({ color: 'black' });
相關
以下選項直接相關,在您的應用程式開發中也可能很有用。