Jquery Bootgrid-以编程方式更改当前页面
我有一个包含json数据的“Bootgrid”网格(不使用ajax) 分页按钮工作正常,但我希望以编程方式更改当前页面 类似于$(“#grid”).bootgrid().setCurrentPage(100)Jquery Bootgrid-以编程方式更改当前页面,jquery,twitter-bootstrap,jquery-ui,jquery-bootgrid,Jquery,Twitter Bootstrap,Jquery Ui,Jquery Bootgrid,我有一个包含json数据的“Bootgrid”网格(不使用ajax) 分页按钮工作正常,但我希望以编程方式更改当前页面 类似于$(“#grid”).bootgrid().setCurrentPage(100) 我看不到API提供了这样的方法,因此如何实现它?正如您所看到的,bootgrid还没有提供一种内置的方式来更改当前页面。不过,您可以扩展它 将此添加到正在页面中加载的一些.js文件中: $.fn.bootgrid.Constructor.prototype.setCurrentPage =
我看不到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;
}
您可以将其粘贴到用于构建bootgrid和加载数据的.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');
因此,基本上,我向其原型添加了一个新方法,它将更改活动的按钮(仅用于样式设置),并更改bootgrid的当前属性
更改页码后,我们调用sort
方法作为一种变通方法,以强制bootgrid重新加载其数据,而不重置页码,就像重新加载
一样
检查我创建的。试试看 谢谢!我真的很喜欢这个解决方案。我最终修改了bootgrid.js以包含一个showPage()方法,该方法基本上是一个load()副本,但将当前行设置为指定的行。哦,这很好,我考虑提供此选项作为替代方案,但请注意,缩小的版本不起作用(除非你自己缩小并替换它,或者只是不使用缩小版)。在另一个关于另一个功能的回答中,我建议做一些类似于Grid.prototype.doSomething=function()的事情
insidebootgrid.js
。我想他们不会发布新版本,所以更新包和忘记再次添加此代码可能不会有问题。