2012-03-07 3 views
2

Прежде всего, я новичок в ExtJS Я работаю над Ext 4 Tree с нескольких дней.Как визуализировать многие деревья ExtJS с использованием одного хранилища данных

Требование таково, что я хочу отображать 3-4 представления одного и того же дерева в одно и то же время. Я хочу сделать это, используя единый хранилище данных.

Дерево 1 покажет все узлы без флажков Tree 2 будут показаны все узлы с флажками Tree 3 покажет только родительские узлы (папки) и ни одного листа узлов (файлов)

Я пытался сделать это с помощью же хранилище данных, но разложение/срыв одного дерева приводит к неуклонному расширению/сворачиванию другого. Кроме того, для флажка я должен указать «checkbox: true/false» в хранилище данных, о котором я понятия не имею, как управлять в Ext.

Пожалуйста, помогите мне. Это будет очень полезно, если вокруг уже есть пример.

ответ

2

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

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

+0

Будет полезно, если вы сообщите мне, как подписаться/отказаться от подписки на хранение. Я думаю, что это может сделать трюк. Я искал документы, но не смог найти ничего подходящего для этого. – Ashwin

+0

Проверьте исходный код для компонентов дерева/сетки - метод bindStore. Вот где все происходит. – sha

Смежные вопросы