我有一个带有 json 数据的“Bootgrid”网格(不使用 ajax)。
分页按钮工作正常,但我想以编程方式更改当前页面。
像 $("#grid").bootgrid().setCurrentPage(100);
我没有看到 API 提供了一种方法,那么我该如何实现呢?
我有一个带有 json 数据的“Bootgrid”网格(不使用 ajax)。
分页按钮工作正常,但我想以编程方式更改当前页面。
像 $("#grid").bootgrid().setCurrentPage(100);
我没有看到 API 提供了一种方法,那么我该如何实现呢?
如您所见,bootgrid 还没有提供改变当前页面的内置方法。不过,您可以扩展它。
.js
将此添加到您正在页面中加载的某些文件中:
$.fn.bootgrid.Constructor.prototype.setCurrentPage = function (page) {
$(this).find('li.page-' + this.current).removeClass('active');
$(this).find('li.page-' + page).addClass('active');
this.current = page;
return this;
}
您可以将其粘贴
.js
到用于构建引导网格和加载数据的相同内容中
然后你可以在你的网格中使用它,如下所示:
// create the grid...
var grid = $("#grid-data").bootgrid({
ajax: false
});
// add some rows with json data
grid.bootgrid('append',
[
{
"id": 19,
"sender": "foo@test.com",
"received": "2014-05-30T22:15:00"
},
{
"id": 14,
"sender": "bar@test.com",
"received": "2014-05-30T20:15:00"
},
// ....many rows
]);
// call your custom method, to change to page 3
grid.bootgrid('setCurrentPage', 3);
// calling sort is just a workaround, so bootgrid reloads itself...
grid.bootgrid('sort');
所以基本上,我向它的原型添加了一个新方法,它将改变active
按钮(仅用于样式目的),并改变 bootgrid 的current
属性。
更改页码后,我们调用该sort
方法作为一种变通方法,以强制 bootgrid 重新加载其数据,而无需重新设置页码reload
。
检查我创建的这个 JSFiddle 。试试看!!