Кендо Treeview получить значение из dataBound - PullRequest
0 голосов
/ 02 апреля 2020

Когда данные загружены, я хочу убедиться, что флажки становятся disable и uncheck при (active == 'n' && checkbox == 1). Есть идеи, что мне здесь не хватает? Кажется, мой код не работает.

FULL DEMO

$("#treeview").kendoTreeView({
  dataBound: function(e){
    this.expand('.k-item');

    var dataItems = this.dataSource.view();
    console.log(dataItems);
    for (var i = 0; i < dataItems.length; i++) {
      if( dataItems.active == "n" && dataItems.checked == 1){
         $(e.node).find(".k-group input").prop('checked', false);
         $(e.node).find(".k-group input").prop('disabled', true);
      }
    }
  },
  template: "<span #if(item.active=='n'){# style='color:red' #} #>#: item.group != null ? item.group : item.ledger #</span>" ,
  dataSource: [
    { ledger: "Title 1st", active:"y", checked: 0 },
      { group: "subTitle1", active:"y",checked: 1 },
      { group: "subTitle2", active:"n",checked: 1 },
      { group: "subTitle3", active:"y",checked: 0 },
      { ledger: "Title 2nd", active:"n", checked: 1}
  ],
  checkboxes: true
});

1 Ответ

0 голосов
/ 02 апреля 2020

Наконец я нашел решение

dataBound: function(e){
  this.expand('.k-item');

  var dataItems = this.dataSource.view();
  console.log(dataItems);
  for (var i = 0; i < dataItems.length; i++) {
    if (dataItems[i].active == "n" && dataItems[i].checked == 1) { 
        dataItems[i].set("checked", false);
        dataItems[i].set("enabled", false); 
    }
  }
},
...