2015-05-16 12 views
0

Я использую хранилище данных extjs 4.1. Я привязал магазин к трем сетям.Изменение данных в магазине extjs 4.1 по запросу

Когда пользователь выбирает запись на gridOne, я обновляю свойство addedOnGridOne до значения true. Аналогично, когда пользователь добавляет запись в GridTwo, я обновляю свойство addedOnGridTwo на true.

Теперь у меня есть добавил флажок, если этот флажок установлен, то мне нужно сбросить addedOnGridOne & addedOnGridTwo свойств, доступных в магазине & в то время как этот флажок установлен, то мне нужно отдельно поддерживать addedOnGridOne & addedOnGridTwo свойства.

Что я хочу: после того, как магазин загружен в первый раз, я хочу создать две копии данных, доступных в магазине.

Если флажок установлен, я загружу первую копию данных, и если пользователь на вкладке два, я загружу вторую копию данных.

Какие варианты доступны мне здесь? Это хорошая идея. Есть ли лучший подход? Пожалуйста, предложите

ответ

1

Один магазин для большего количества сеток почти всегда приводит к проблемам, так как сортировка, фильтрация и редактирование влияют на все три решетки. Если вам нужны три сетки, работающие с одними и теми же данными, у вас может быть три отдельных экземпляра хранилища, загруженные теми же данными.

+0

Проблема в моем существующем коде, я использовал магазин напрямую (вместо того, чтобы использовать сетку, чтобы получить магазин, я запрашиваю хранилище, используя Ext.getStore(), чтобы получить магазин). Теперь, если я создаю несколько экземпляров store & прикрепите к каждой сетке, мне придется изменить код в нескольких местах. – SharpCoder

+0

Да, необходим какой-то рефакторинг. Создайте хранилище в initComponent сетки. – Saki

+0

На этом этапе я не хочу реорганизовывать код. Можно ли создать две копии данных и загрузить данные в хранилище с помощью 'loadData()' на основе статуса флажка? – SharpCoder