{hero}

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 傳遞給該方法,以確保使用新狀態重新繪製表格(並顯示正確的分頁)。

類型

function state()

說明

取得 DataTables 的狀態

返回

已儲存狀態的物件

function state( set [, ignoreTime ] )

說明

設定 DataTables 的狀態

參數
返回

DataTables API 實例

範例

從狀態物件取得已儲存的頁面長度

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);

相關

以下選項直接相關,可能在您的應用程式開發中也很有用。