所以我用这个属性“bStateSave”:真正的拯救jQuery的DataTable的状态,但出于某种原因,它不适合我的工作。 当我做的页面刷新它不保存搜索结果和分页等。 是否有需要在手去与这一个其他一些参数。 我主要是这个页面上,打算到信息
http://datatables.net/examples/basic_init/state_save.html
代码太庞大吓坏要过帐,我不知道我剪断应该用于发布。 在此先感谢您的帮助。
所以我用这个属性“bStateSave”:真正的拯救jQuery的DataTable的状态,但出于某种原因,它不适合我的工作。 当我做的页面刷新它不保存搜索结果和分页等。 是否有需要在手去与这一个其他一些参数。 我主要是这个页面上,打算到信息
http://datatables.net/examples/basic_init/state_save.html
代码太庞大吓坏要过帐,我不知道我剪断应该用于发布。 在此先感谢您的帮助。
首先,你要确保你有一个cookie,跳进铬一旦你加载你的页面,点击“设置”,然后选择“显示高级设置”下的内容设置的隐私部分的点击。
下面是从该网站,在我的web应用程序正常工作,并且确保你有最新的插件版本的代码示例。
$('#MyExampleGrv').dataTable({
"bStateSave": true,
"fnStateSave": function (oSettings, oData) {
localStorage.setItem('DataTables_' + window.location.pathname, JSON.stringify(oData));
},
"fnStateLoad": function (oSettings) {
var data = localStorage.getItem('DataTables_' + window.location.pathname);
return JSON.parse(data);
}
});
这段代码的含义,是让本地存储来代替饼干,并使用特定的与只使用一个通用的标识称为数据表,这样,如果你有另一个页面上表中,将不会有冲突的页面。 这段代码不会做,如果你正在使用ASP.NET控件和一个GridView这个代码将不会保存分页状态,如果你使用内置到ASP.NET通用CRUD操作,如编辑/删除/ UPDATE,和你的编辑产品分页第3页,它将通过AJAX回传,甚至局部回传后,默认为第1页。
我知道,这个答案是不是旧版本的数据表的,但我相信它会帮助新人。
数据表API改变了很多从2011年到现在。 要保存数据表的状态,您可以使用HTML5的localStorage或DB(AJAX回调)。 要启用状态会使用localStorage来保存,你做以下电话:
$(document).ready(function() {
$('#datatable').DataTable({
stateSave: true,
});
} );
如果你想使用的sessionStorage代替的localStorage的:
$(document).ready(function() {
$('#datatable').DataTable({
stateSave: true,
stateDuration:-1 //force the use of Session Storage
});
} );
如果你想使用一个数据库,以避免将其储存在浏览器中,那么你必须使用选项定义的回调函数stateSaveCallback和stateLoadCallback 。
下面是一个例子和源代码的教程将告诉您如何实现上述所有方法: 数据表状态保存客户端和服务器端
你看到cookie的浏览器中的检查是什么时候? 我使用的浏览器和开发工具来查看您发送的链接当前饼干。 我看到一个名为储存在我的机器上“datatables.net”的cookie。 你想您的自定义数据表的代码时,看到这个cookie?