状态保存(stateSave)

起始版本号: 1.10.0

状态保存 - 再次加载页面时还原表格状态

说明

开启或者禁用状态储存。当你开启了状态储存,Datatables会存储一个状态到浏览器上, 包含分页位置,每页显示的长度,过滤后的结果和排序。当用户重新刷新页面,表格的状态将会被设置为之前的设置。

数据储存在浏览器上的状态信息是使用 localStorage或者sessionStorage Html5 APLs。 Datatable的属性stateDuration 用来设置使用那个api (localStorage:0 或者更高  或者 sessionStorage: -1)

使用table的dom id 和当前页面的路径作为每个表状态数据,信息储存的唯一标示。如果 table dom 的id 或者页面的url改变了,状态信息将丢失。

请注意:这个使用了Html5 api 来存储数据,意味着这个参数的使用在IE6/7下会失效,因为IE6/7不支持这些api。 使用cookie或者把状态保存在服务器上,可以通过使用 stateSaveCallbackOption stateLoadCallbackOption 选项。

数据类型

这个选项接受以下类型:

默认值

false

示例

打开状态保存:

$('#example').dataTable( {
  "stateSave": true
} );

根据Datatables的实例id来读取和储存页面上保存的状态:

$('#example').dataTable( {
  stateSave: true,
  stateSaveCallback: function(settings,data) {
      localStorage.setItem( 'DataTables_' + settings.sInstance, JSON.stringify(data) )
    },
  stateLoadCallback: function(settings) {
    return JSON.parse( localStorage.getItem( 'DataTables_' + settings.sInstance ) )
    }
} );

相关

下面的选项是直接相关的,也可能是您的应用程序的开发非常有用。

http://datatables.net/reference/option/stateSave

Translation from DataTables.net, with permission