AppMaker - отображать только отфильтрованные элементы на вкладках - PullRequest
0 голосов
/ 09 октября 2018

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

Я хотел бы знать, есть ли способ отображать только отфильтрованные результаты изисточник данных в каждой вкладке.Я объясню лучше.У меня есть модель данных EmailTemplate с полями Subject, Body и Type.В пользовательском интерфейсе я добавил контейнер Tabs и хотел бы отображать на каждой вкладке только шаблоны электронной почты, соответствующие выбранной вкладке (item.Type === selectedTab).

Мне удалось сделать это с помощью запроса на стороне сервера.Фильтр с параметром, связанным с событием onChangeTab, который работает нормально, НО, он на стороне сервера, поэтому каждый раз, когда выбирается новая вкладка, он должен возвращаться к данным, фильтровать их и возвращать данные, которые занимают несколько секунд и делаютприложение выглядело медленно.

Мне было интересно, есть ли способ отображать только данные на каждой вкладке, отфильтрованные по указанному выше условию.Поэтому сохраняйте весь список результатов, но отображайте только те из них, которые соответствуют вкладке.Я заметил, что есть возможность фильтровать элементы, возвращенные из источника данных, но, похоже, он не меняет отображаемые данные.

Есть идеи?

Спасибо!

1 Ответ

0 голосов
/ 12 октября 2018

Я делал это в прошлом (но затем переключился на набор переключателей, которые повторно выбирают элементы при изменении значения, поскольку каждая из моих вкладок отображала очень похожую информацию).

IIRC, чтоЯ сделал для onSelectedTabChange виджета со вкладками именно то, что вы описываете:

widget.datasource.unload();
widget.datasource.query.filters._key._equals = null;
widget.datasource.query.filters.Type._equals = selectedTab;
widget.datasource.load();

Я согласен, что это не очень быстро, и это неудобно, так как при разгрузке таблица становится пустой, ожидая новых данных вобъявиться.У меня нет лучшей идеи, как пост-фильтрация того, что вы получили в своем источнике данных.Это может быть сложно, поскольку ваш фильтр в памяти должен будет загружать тонны данных из базы данных, чтобы найти несколько (или нет) записей, соответствующих вашему желаемому фильтру.

...