Я создал скрипку, чтобы проиллюстрировать то, что я пытаюсь достичь.Как получить значения непосредственно из магазина, отфильтрованного на стороне сервера
https://fiddle.sencha.com/#fiddle/1i8e
На скрипке, есть две сетки и форма.
При выборе строки первой сетки вторая сетка фильтруется (на стороне сервера этот код не был реализован в скрипте).
Что-то вроде:
storeGrid2.load({
params: {
'item': id_item
}
});
При нажатии на кнопку в виде е получить значения из второго магазина сетки (предварительно отфильтрованная).
Это хорошо работает.
Однако мне не нужна вторая сетка в качестве компонента в моем приложении.
Есть ли способ получить значения второго хранилища сетки (без сетки как компонента) после фильтрации?
Реферат: Я хочу, чтобы, когда я выбираю первую строку сетки 1, фильтрует хранилище grid2 (без сетки как компонента), получаю эти значения хранилища (здесь его моя проблема) и добавляем поля в форму.
Редакция:
Я знаю, что мой случай не легко разоблачить.
Предположим, например, приложение для ресторана.
Первая сетка отображает дни недели. Вторая сетка отображает доступные пищевые ингредиенты в тот день. И форма отображает меню.
Когда пользователь выбирает первую строку сетки со значением Понедельник, вторая сетка отображает картофель, яблоки и курица. Форма отображает меню в соответствии с этими пищевыми ингредиентами: картофельный суп, яблочный пирог и жареную курицу.
Если это клиент ресторана, когда он выбирает понедельник (на первой сетке) появляется просто меню, а не вторая сетка (клиенту не нужно знать, какие ингредиенты для продуктов доступны в этот день, просто меню).
Это можно сделать, спрятав сетку.
Однако я пытался достичь того, можно ли непосредственно получить хранилище данных без (второго) элемента сетки.
Все произошло на уровне ViewModel/Store без существующего слоя представления (вторая сетка).
Когда я использую store.load() без создания экземпляра сетки компонент я получаю следующее сообщение об ошибке: неперехваченным TypeError: Не удается прочитать свойство «нагрузки» неопределенной
Вы когда-нибудь слышали о 'Ext.getStore() '? – Alexander
Да. Я также попробовал Ext.data.StoreManager.get ('my storeId'); Первой проблемой, которую я должен решить, является загрузка магазина без сетки. storeGrid2.load ({params: {'item': id_item}}); по-видимому, для запуска нужен грид-компонент. Мой магазин находится в viewModel. Я хочу получить значения непосредственно из хранилища ширины сетки – josei
Итак, в основном вы хотите отфильтровать второй магазин на основе значения, выбранного вами на первой сетке, без необходимости второй сетки для представления этих данных, правильно? Просто используйте закодированный магазин, чтобы сделать это - http://docs.sencha.com/extjs/6.2.0/classic/Ext.data.ChainedStore.html –