Асинхронные агрегаты Kendo Angular Grid

Я изо всех сил пытаюсь получить нижний колонтитул для отображения итогов в угловой сетке Kendo, которая связана асинхронно. к серверному API.

Пример на веб-сайте Kendo относится к фиксированному массиву и не включает никаких примеров (хотя все остальное делает !?) необходимости достижения этого при привязке к данным ASYNC.


person Bhail    schedule 02.05.2018    source источник
comment
Можете ли вы конкретно указать, с чем вы боретесь? Вы получаете ошибки на консоли? Можете ли вы поделиться своим кодом сетки?   -  person Carlos Martins    schedule 02.05.2018
comment
Спасибо... Нет, я просто не могу заставить демо работать. Есть ли демо для агрегатов, где данные привязаны к асинхронному API.   -  person Bhail    schedule 02.05.2018
comment
В этом примере показано, как реализовать элемент управления с помощью углового асинхронного канала. telerik.com/kendo -angular-ui/components/dropdowns/autocomplete/ Надеюсь, это направит вас в правильном направлении.   -  person Carlos Martins    schedule 02.05.2018
comment
НЕТ ! Kendo Grid... выполняет агрегаты... в нижнем колонтитуле может суммировать значения в столбцах. В примере на сайте Kendo показано, как суммировать столбцы, когда источником данных является массив. Но в реальной жизни данные поступают из базы данных, где данные выгружаются. нет примера того, как делать агрегаты для выгружаемых данных.   -  person Bhail    schedule 03.05.2018


Ответы (1)


Вам нужно получить результаты вашей базы данных в объект (данные), независимый от ваших данных сетки. Здесь у вас есть документация о aggregateBy https://www.telerik.com/kendo-angular-ui/components/dataquery/api/aggregateBy/

const result = aggregateBy(data, [
      { aggregate: "sum", field: "unitPrice" },
      { aggregate: "sum", field: "unitsInStock" }
    ]);

Чтобы получить результат, используйте

const result = <AggregateResult>{
     "unitPrice": { "sum": 53, "count": 2 },
     "unitsInStock": { "sum": 66, "count": 3 }
};
person Carlos Martins    schedule 03.05.2018