Как загрузить данные в рекурсивный DataView в Extjs? - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть рекурсивный шаблон.

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: 'select'

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

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

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

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

мне нужно Store или TreeStore или что-то еще?

спасибо заранее

Ответы [ 2 ]

0 голосов
/ 03 июля 2012

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

Может быть, вам полезно перебирать непосредственно детей.Поэтому вместо

<tpl for=".">

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

<tpl for="children">

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

0 голосов
/ 10 февраля 2012

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

...