Запросить источник данных пользовательского интерфейса кендо

Я хочу использовать DataSource как локальную БД, где я могу запрашивать определенные данные. Я пробовал следующее:

this.get("productsSource").query({
    filter: { field: "dirty", operator: "eq", value: true} 
});
var dirty = this.get("productsSource").view();

Это прекрасно работает. Однако раскрывающийся список, привязанный к этому источнику данных, теперь показывает только «грязные» записи. Как будто запрос затронул весь DataSource.

Мне нужно просто вернуть определенные записи на основе критериев фильтра без изменения «представления» DataSource.

Это выполнимо?

Спасибо


person Bill    schedule 07.02.2015    source источник


Ответы (1)


Вот как это разработано; простым решением для вашего сценария будет создание новой DS, которая создает копию данных, а затем запросит это:

var originalDS = this.get("productsSource");
var filterDS = new kendo.data.DataSource({ data: originalDS.data() });
var dirty = filterDS.query({
    filter: { field: "dirty", operator: "eq", value: true} 
}).view();
person Lars Höppner    schedule 07.02.2015
comment
Вот что я в итоге сделал. Создание глубокой копии с помощью jquery. - person Bill; 08.02.2015
comment
Незначительная ошибка, вы не можете вызвать view() для запроса(). Сначала вызовите метод запроса, затем просмотрите (на filterDS). - person joaopintocruz; 20.04.2020