Javascript 剑道UI网格:数据源刷新后我丢失分页
我在cshtml文件中有以下定义:Javascript 剑道UI网格:数据源刷新后我丢失分页,javascript,c#,pagination,kendo-grid,Javascript,C#,Pagination,Kendo Grid,我在cshtml文件中有以下定义: @{Html.Kendo().Grid<OrderItem>() .Name("OrderList") .Columns(columns => { ......... }) .DataSource(binding => binding
@{Html.Kendo().Grid<OrderItem>()
.Name("OrderList")
.Columns(columns => {
.........
})
.DataSource(binding => binding
.Ajax()
.PageSize(14)
.Model(model => model.Id(p => p.No))
.Read(read => read.Action("SearchSalesOrder", "SalesOrder"))
)
.Sortable()
.Pageable()
.Filterable()
.Scrollable()
.Render();
}
之后,寻呼机只显示一页。我需要更改保持分页的数据源
谢谢。我想我明白了。
这很简单。我不得不在schema
中添加total
属性。基本上在Javascript中,当我需要更改数据源时,我有以下代码:
var grid = $("#OrderList").data("kendoGrid");
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: '/Sales/SearchSalesOrder',
type: 'POST',
data: {
page: 1, pageSize: 14, startDate: startDateParam, endDate: endDateParam,.....
}
}
},
pageSize: 14,
serverPaging: true,
schema: {
parse: function (response) {
// Charts refresh
.......
return response.Data;
},
total: function (response) {
return response.Total;
},
data: "Data"
}
});
grid.setDataSource(dataSource);
grid.refresh();
它起作用了。
:)它可以工作,如果我们想刷新或更改网格的数据源,我们必须设置Total选项。当我们使用分页功能时,我们也应该设置总选项。
var grid = $("#OrderList").data("kendoGrid");
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: '/Sales/SearchSalesOrder',
type: 'POST',
data: {
page: 1, pageSize: 14, startDate: startDateParam, endDate: endDateParam,.....
}
}
},
pageSize: 14,
serverPaging: true,
schema: {
parse: function (response) {
// Charts refresh
.......
return response.Data;
},
total: function (response) {
return response.Total;
},
data: "Data"
}
});
grid.setDataSource(dataSource);
grid.refresh();