Установить сортировку И группу Kendo DataSource одновременно только с одним сетевым вызовом?

Я использую Kendo DataGrid и хочу программно установить сортировку и группу своего источника данных, не делая 2 отдельных сетевых вызова для получения данных. Источник данных использует URL-адрес OData веб-API, для serverPaging, serverFiltering, serverSorting установлено значение true.

Следующее приводит к 2 отдельным сетевым вызовам:

grid.dataSource.sort([{ field: "Name", dir: "asc" }]);
grid.dataSource.group([{ "field": "Region", "dir": "asc" }]);

Есть ли способ добиться программной сортировки/группировки в одном запросе?


person user1380769    schedule 15.01.2015    source источник
comment
Я действительно не знаком с KendoUI, но, возможно, решение состоит в том, чтобы определить сервис анализа OData-like с использованием (на стороне сервера) метода расширения QueryByCube LINQ, предоставляемого AdaptiveLINQ. Отказ от ответственности: я разработчик AdaptiveLINQ.   -  person nlips    schedule 15.01.2015


Ответы (2)


Используйте метод query источника данных:

dataSource.query( { 
 sort: [ /* sort descriptors */], 
 group: [ /* group descriptors */ ], 
 page: dataSource.page(), 
 pageSize: dataSource.pageSize() 
});
person Atanas Korchev    schedule 17.01.2015

Мой синтаксис был немного другим, но он работает хорошо

datasource.query({
    sort: { field: "Sort", dir: "asc"},
    group: { field: "CategoryName" },
    pageSize: 50
});
person pat capozzi    schedule 28.04.2015