2014-09-23 2 views
0

поэтому у меня проблемы с моим деревом кендо. im, получая правильный родительский элемент, но на дочернем узле он имеет другой уровень, такой же, как дочерний узел, который выходит бесконечно. Я попытался установить 'hasChildren = false' в моем дочернем узле, но он не работает. надеюсь, вы могли бы помочь мне с этим.kendo treeview получает бесконечный цикл в дочернем узле

вот мой код:

HTML:

<div id="treeview1"></div> 

сценарий:

var Customer = new kendo.data.HierarchicalDataSource({ 
     transport: { 
      read: { 
       url: '/Position/LoadGetCompanyList', 
       dataType: "json" 
      } 
     }, 
     schema: { 
      model: { 
       id: "ID", 
       hasChildren: true, 
      children: Positions 
      } 
     } 



    }); 

    var Positions = { 
     transport: { 
      read: { 
       url:'/Position/LoadIndustriesPositionList', 
       dataType: "json" 
      } 
     }, 
     schema: { 
     model: { 
      id: "ID", 
      hasChildren: false 

     } 
    } 

}; 
$("#treeview1").kendoTreeView({ 
    dataTextField: ["CompanyName", "JobName"], 
    // dataValueField: "Client_CustomerID", 
    //   select: function (e) { 
    //    console.log("Selecting ", e.node) 
    //   }, 
    dataSource: Customer 
}).data("kendoTreeView"); 

плохо прикрепить ссылку моей ссылки здесь: http://rameshrajappan.wordpress.com/kendo-treeview-with-asp-net-mvc/ http://demos.telerik.com/kendo-ui/treeview/remote-data-binding

спасибо.

ответ

0

Вам необходимо определить переменную в правильном порядке (сначала выберите «Сначала ребенок»). Переменная Positions должна поступать перед Клиентом, так как Клиент использует Позиции в качестве своего ребенка.

Это странное поведение дерева деревьев Кендо, что если порядок неправильный, вид дерева Kendo Tree показывает дочерний узел в бесконечном цикле.

Скорректированный код должен быть, как показано ниже

var Positions = { 
    transport: { 
     read: { 
      url:'/Position/LoadIndustriesPositionList', 
      dataType: "json" 
     } 
    }, 
    schema: { 
    model: { 
     id: "ID", 
     hasChildren: false 

    } 
} 

}; 

    var Customer = new kendo.data.HierarchicalDataSource({ 
    transport: { 
     read: { 
      url: '/Position/LoadGetCompanyList', 
      dataType: "json" 
     } 
    }, 
    schema: { 
     model: { 
      id: "ID", 
      hasChildren: true, 
     children: Positions 
     } 
    } 



}); 


$("#treeview1").kendoTreeView({ 
dataTextField: ["CompanyName", "JobName"], 
// dataValueField: "Client_CustomerID", 
//   select: function (e) { 
//    console.log("Selecting ", e.node) 
//   }, 
dataSource: Customer 
}).data("kendoTreeView");