2013-07-02 7 views
0

У меня есть дерево Kendo UI, связанное с удаленными данными; однако, пока отображаются элементы верхнего уровня, а стрелка указывает, что есть детские элементы, щелчок стрелкой ничего не делает, кроме вращения - нет расширения, чтобы показать дочерние узлы. Любая помощь будет оценена по достоинству.Kendo UI Treeview не расширяющиеся узлы

Мой код выглядит следующим образом:

var industryTree = new kendo.data.HierarchicalDataSource({ 
    transport: { 
     read: { 
      url: 'http://'+document.domain+'/services/TreeIndustries.php', 
      dataType: "json" 
     }, 
     schema: { 
      model: { 
       id:"id" 
      } 
     } 
    } 
}); 

Мое дерево INIT:

var industryTreeView=$("#industry-tree").kendoTreeView({ 
    dataSource: industryTree, 
    dataTextField: ["text","text"] 

}); 

JSON вернулся проверяет правильность; кто хочет посмотреть может проверить его здесь:

http://173.45.233.104/services/TreeIndustries.php 
+0

вы пробовали установки свойства loadOnDemand ложь согласно: HTTP: //docs.kendoui .com/api/web/treeview # configuration-loadOnDemand – boniestlawyer

ответ

2

Мне очень жаль, но, кажется, что существует ограничение на допустимые имена для «детей» и children не является допустимым именем.

Существует также вопрос, который вы определили schema внутри transport, когда они должны быть на том же уровне:

var industryTree = new kendo.data.HierarchicalDataSource({ 
    transport: { 
     read: { 
      url: 'http://'+document.domain+'/services/TreeIndustries.php', 
      dataType: "json" 
     } 
    }, 
    schema: { 
     model: { 
      id:"id" 
     } 
    } 
}); 

Если вы измените JSON и заменить children на items, kids или даже _children он должен работать ,

Кроме того, не забудьте установить loadOnDemand как false, чтобы загрузить полное дерево.

С этим, ваш DataSource должно выглядеть следующим образом:

var industryTree = new kendo.data.HierarchicalDataSource({ 
    transport: { 
     read: { 
      url  : 'http://' + document.domain + '/services/TreeIndustries.php', 
      dataType: "json" 
     } 
    }, 
    schema : { 
     model: { 
      id  : "id", 
      children: "_children" 
     } 
    } 
}); 

И инициализации дерева:

var industryTreeView = $("#industry-tree").kendoTreeView({ 
    loadOnDemand : false, 
    dataSource : industryTree, 
    dataTextField: "label" 

}); 
+1

Нет, это тоже не сработает - хотя я должен поблагодарить вас за то, что я определял свою схему в транспорте (я этого не заметил). В конце концов, я бросился к дереву дерева Кендо и пошел с jqtree. Компонент treeview является единственной частью интерфейса Kendo, с которой я действительно столкнулся. –

+1

С изменениями, которые я предлагаю, на самом деле работает. Проверьте это в [www.onabai.es/so/index.html](http://www.onabai.es/so/index.html), вы можете проверить источник и просмотреть измененные данные в [www.onabai.es /so/data.json](http://www.onabai.es/so/data.json) – OnaBai

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