我们正在使用剑道网格。我在 cshtml 文件和 js 文件中创建了一个表,将其绑定到数据。我的问题是网格分页不会消失。我需要页面上的所有项目,因为我们预计不会有太多负载。我尝试删除可分页属性并尝试标记
pageable: false
。但我仍然看到网格在一页中仅显示 10 个项目并给出分页。
通过使用
this.pager.element.hide()
,我们可以隐藏寻呼机,但这并不能解决目的,因为寻呼机已隐藏但寻呼仍在进行。所以,现在,从第 11 个元素开始的元素位于下一页上,但我们无法导航到它。
这是现有的代码。我已经删除了表中不相关的列。 .CSHTML 文件:
<table style="width: 100%;" class='list-entity' id='inboxItems'>
<thead>
<tr>
<th data-field='Actions' class="iconCell" style='width: 1%'> </th>
<### THERE ARE MORE COLUMNS HERE AND THOSE HAVE CORRESPONDING COLUMNS IN SETTINGS ###>
</tr>
</thead>
</table>
JS 文件:
var settings = {
kendosettings: {
dataSource: {
data: requestItemsList,
schema: {
// required if get method will be used
model: {
id: "StepApproverKey"
}
},
group: [
{
field: "GroupByAttribute",
dir: "asc",
aggregates:
[
{ field: "GroupByAttribute", aggregate: "count" }]
}]
},
sort: { field: "SubmittedOn", dir: "desc" },
sortable: true,
pageable: false,
scrollable: false,
columns: [
{
field: "Actions",
title: "Actions",
template: kendo.template($("#inboxrowEditTemplate").html())
},
{ field: "StepApproverKey", hidden: true },
{
field: "GroupByAttribute",
hidden: true,
groupHeaderTemplate: kendo.template($("#inboxrowgroupHeaderTemplate").html()),
headerAttributes: {
style: "width: 100%"
}
}
],
selectable: "row",
}
};
$('#inboxItems').pdi().displaygrid(settings);
我在 Kendo 论坛上发布了这个问题,看来我们解决这个问题的唯一方法是动态设置网格的页面大小,然后隐藏寻呼机。在我们的例子中,由于我们希望一次性加载所有项目,因此我们将其设置为发送到客户端的列表的长度。下面是我使用的代码并且它正在工作。
var inboxGrid = $('#inboxItems').data("kendoGrid");
inboxGrid.dataSource.pageSize(<NUMBER OF ITEMS IN THE LIST>);
inboxGrid.refresh();
inboxGrid.bind("dataBound", function () {
this.pager.element.hide();
});
使用:
inboxGrid.bind("dataBound", function () {
this.pager.element.hide();
});
对我不起作用。也许是因为我使用 Razor 和 MVC 来显示网格,或者可能是因为我们使用 Bootstrap 作为 CSS,我不知道。但所以我这样做了:
var inboxGrid = $('#inboxItems').data("kendoGrid");
inboxGrid.dataSource.pageSize(inboxGrid.dataSource.total());
inboxGrid.refresh();
$('[class*="k-pager-nav"]').hide();
pageable.alwaysVisible(默认值:true),所以你只需要更改:
可分页:假,
致:
可分页:{ 始终可见:假 }