Kendo TreeList с флажками на ASPNET Mvc - PullRequest
0 голосов
/ 26 июня 2018

Я использую Kendo (и я почти никогда не использовал его раньше) в приложении ASPNET Mvc, и мне нужно создать TreeList с флажками: проверка отца должна проверять всех детей, а отмена выбора ребенка должна снимать флажок отца ( и дедушка и тд). Само по себе дерево работает хорошо: я добавил столбец с пользовательским шаблоном и использую (успешно) событие onClick для получения значения флажка, но я не могу понять, как «привязать» это значение к узел дерева (чтобы добраться до каждого ребенка и проверить его).

Вот код:

@(Html.Kendo().TreeList<TreeElem>()
  .Name("treelist")
  .Columns(col =>{                                                                
     col.Add().Field(f => f.NodeDescription).Title("TREE LIST");
     col.Add().Template("<input type='checkbox' data-bind='checked: checked' onClick='onCheck(event)'/>").Width(55);
   })
   .DataSource(source => source.Read(read => read.Action("GetData", "TreeController"))
   .Model(m => {                                                                                                
             m.Id(f => f.NodeId); 
             m.ParentId(f => f.ParentId);
             m.Field(f => f.NodeDescription);
       })
    )
)

В JavaScript:

function onCheck(e) {
  console.log(e.target.checked); //print true/false according to the checkbox
  console.log($("#treelist").data('kendoTreeList').dataSource.data()); //print the complete node list 
  //Other stuffs
}

Я хотел бы получить правильный узел из data () (или view ()) в соответствии с установленным флажком. Каждый узел имеет ссылки на своих детей и отца, поэтому рекурсивная функция должна быть легкой после этого. Я искал и пробовал много решений, но безрезультатно, есть идеи? Спасибо

...