state()
自:DataTables 1.10.1 起
取得 / 設定表格的狀態。
說明
DataTable 的「狀態」是指定義其目前顯示的屬性,例如分頁參數、排序和篩選。雖然您可以使用個別的 API 方法來取得和設定屬性(例如 order()
),但此方法提供了一個收集的 API,可以整體提供和接收有關表格的資訊。另請注意,即使未啟用 stateSave
,此方法也可以運作。
資料物件具有以下格式,但請注意,DataTables 的外掛程式和擴充套件可能會修改此結構,加入它們自己的狀態資訊所需的資料。
{
"time": {number} // Time stamp of when the object was created
"start": {number} // Display start point
"length": {number} // Page length
"order": {array} // 2D array of column ordering information (see `order` option)
"search": {
"search": {string} // Search term
"regex": {boolean} // Indicate if the search term should be treated as regex or not
"smart": {boolean} // Flag to enable DataTables smart search
"caseInsensitive": {boolean} // Case insensitive flag
},
"columns" [
{
"visible": {boolean} // Column visibility
"search": {} // Object containing column search information. Same structure as `search` above
}
]
}
如果將此方法作為設定器使用,您很可能需要呼叫 draw()
,並將 false
傳遞給該方法,以確保使用新狀態重新繪製表格(並顯示正確的分頁)。
類型
範例
從狀態物件取得已儲存的頁面長度
alert('Saved page length is: ' + table.state().length);
取得表格狀態、變更它並重新載入
var table = new DataTable('#myTable');
var state = table.state();
state.start = 10;
table.state(start).draw(false);
相關
以下選項直接相關,可能在您的應用程式開發中也很有用。