Ich habe diese Definition in einer cshtml Datei:Kendo UI Grid: Ich verliere Paginierung nach Datenquelle Refresh
@{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();
}
In der Steuerung I .ToDataSourceResult(request)
verwenden und es funktioniert perfekt (das Gitter Paginierung). Das Problem tritt auf, wenn ich die Datenquelle ändern muss. Dies geschieht, weil der Benutzer filtern, suchen kann ... Ich rufe von Ajax auf die gleiche Methode "SearchSalesOrder" mit mehr Parametern. Mit Javascript, nehme ich die json aus der Antwort und ich ändern, um die Datenquelle auf diese Weise:
var dataSource = new kendo.data.DataSource({
data: result.Data,
pageSize: 14
});
grid.setDataSource(dataSource);
grid.refresh();
Danach zeigt der Pager nur eine Seite. Ich müsste die Datenquelle ändern und die Seitennummer beibehalten.
Danke.