我知道以前曾经问过这个问题,但我出于某种原因无法让这个工作。
@(Html.Kendo().Grid<MyViewModel>()
.Name("KendoGrid")
.Columns(columns =>
{
---Columns---
})
.Events(e=>e.DataBound("onRowBound"))
.Pageable(pageable => pageable.Refresh(true).PageSizes(true).ButtonCount(5))
.Filterable()
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Model(model => model.Id(p => p.ModelId))
.Read(read => read.Action("Action", "Controller").Data("Handler"))
)
.AutoBind(false)
)
由于我的AutoBind为false,我在页面加载后调用函数来读取数据源:
$(document).ready(function () {
ReadDataSource();
});
function ReadDataSource()
{
$("#KendoGrid").data().kendoGrid.dataSource.page(2);
}
(为简单起见,我现在正在对初始页码进行硬编码。只需说数据源至少有三页)。
每次导航到该页面时,它始终显示第一页。我做错了什么?
感谢。
答案 0 :(得分:0)
试试这个
function ReadDataSource()
{
var grid = $("#KendoGrid").data("kendoGrid");
grid.one("dataBound", function () {
this.dataSource.page(2);
});
}
或
// Make sure you set the correct pageSize
function ReadDataSource()
{
$("#KendoGrid").data("kendoGrid").dataSource.query({ page: 2, pageSize: 20 });
}
答案 1 :(得分:0)
尝试将ReadDataSource函数更改为此
function ReadDataSource()
{
$("#KendoGrid").data("kendoGrid").dataSource.page(2);
}