2012-02-09 3 views
0

У меня есть рекурсивный шаблон.Как загрузить данные в рекурсивный dataView в extjs?

new Ext.XTemplate(
      '<tpl for="."><div>'+ 
      '<div class="select">{text}</div>'+ 
      '{[this.putChildren(values)]}'+ 
      ' </div></tpl>' 
      , 
      { 
       putChildren:function(values){ 


        if(values.children){ 
         Ext.each(values.children,function(child,index,arr){ 
         return this.apply(values.children); 
        } 


       }) 

Я установил itemSelector: «выберите»

Дело в том, что, когда я загружаю данные, которые я получаю сообщение об ошибке «записи [я] не определен», и когда я устанавливаю слушателя событие обстреляны каждый клик, но я получаю item = undefined на каждом узле, кроме корня. Я не могу установить treeStore, потому что dataview исключает только store или jsonstore. (может быть, я что-то не так?)

поэтому у меня есть простой вопрос, как я могу нарисовать дерево, используя представление данных и магазин? я не мог найти хорошее обращение для этого ...

на самом деле у меня есть шаблон, как этот

http://www.youtube.com/watch?v=UhBjMws1H10&t=35m52s Я просто не могу загрузить данные правильно ...

мне нужно хранить или TreeStore или что-то еще?

thnx заранее

ответ

0

Так почему бы не использовать панель дерева? http://docs.sencha.com/ext-js/4-0/#!/api/Ext.tree.Panel

+0

У меня есть пользовательский шаблон, который на самом деле не работает как дерево. это больше похоже на диаграмму, затем на дерево. –

0

Вы когда-нибудь решали эту проблему? Имея ту же самую проблему. Хотя я не потратил на это много времени.

Возможно, это полезно для вас итерации непосредственно через детей. Таким образом, вместо

<tpl for="."> 

я думаю, что вы можете непосредственно использовать

<tpl for="children"> 

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

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