我需要在剑道网格的顶部和底部显示分页和记录计数。我使用的是jQuery KendoGrid。
当前网格包含分页|每页记录下拉列表|和记录计数,位于网格底部。我还想在网格顶部显示分页和记录计数。
我尝试的内容
我试着做这样的事。在数据绑定事件中,我尝试克隆底部div并将其附加到网格的顶部。
var grid = $("#grid");
var topBar = grid.find(".k-grid-pager").clone();
topBar.find('span.k-pager-sizes').remove();
topBar.find('a.k-pager-refresh').remove();
topBar.insertBefore(grid.children(".k-grouping-header"));
问题
在网格顶部重新创建了底部div,但没有分页功能,记录计数也没有更新。它只显示第一次加载时的值。
有没有其他巧妙的方法可以在页面的顶部和底部显示这一点???
没有,有几个变通方法,但都涉及自定义css/jquery更改。
您可以在此处查看:http://www.kendoui.com/forums/ui/grid/location-of-pagination-numbers.aspx或者在这里kendoui:grid-在网格的顶部和底部设置寻呼机,其中还有答案
我像这样实现了
//Add pager and records count to grid top START
bindPagingToGridTop = function (grid, needRefresh) {
var pager = grid.find(grid.children(".k-grid-header")).before("<div id='divGridTopPager' class='k-pager-wrap k-grid-pager'></div>");
pager = $("#divGridTopPager").kendoPager({
dataSource: grid.data("kendoGrid").dataSource,
refresh: needRefresh ? true : false,
buttonCount: 5
});
}
//Add pager and records count to grid top END
我把它称为网格的数据绑定。(当电网首次加载时调用)
var dataBoundCallCount = 0;
$("#myGridID").kendoGrid({
dataBound: function (e) {
if (dataBoundCallCount == 0) {
bindPagingToGridTop($("#myGridID"), false);
}
dataBoundCallCount++;
}
});