Флажок Kendo Grid отключить для редактирования - PullRequest
0 голосов
/ 13 апреля 2020

Я ищу решение, как отключить флажок, если отмечен = 'yes' в моем источнике данных.

Полная демонстрация в Dojo

$("#grid").kendoGrid({
  columns: [
    { selectable: true, headerTemplate:'<b>Some title</b>' },
    { field: "name" }
  ],
  dataSource: [ { name: "Jane Doe", checked:"yes" }, 
               	{ name: "John Doe", checked:"no" }, 
               	{ name: "Doe John", checked:"yes" }, 
               	{ name: "John", checked:"no" } ],
  dataBound:function(e){
    var grid = this;
    var rows = grid.items();

    $(rows).each(function(e) {
      var row = this;
      var dataItem = grid.dataItem(row);
      if (dataItem.checked == 'yes' ){ 
        grid.select(row);	
        
        //grid.select('disable',true);
        //grid.addClass(".k-state-selected");	
      }
    });
  }
});

1 Ответ

1 голос
/ 13 апреля 2020

Вы были почти там. Просто добавьте class для отключения событий мыши в этой строке.

.disabled{
  opacity:0.5;
  pointer-events:none;
}
dataBound:function(e){
  var grid = this;
  var rows = grid.items();

  $(rows).each(function(e) {
    var row = this;
    var dataItem = grid.dataItem(row);
    if (dataItem.checked == 'yes' ){ 
      grid.select(row); 
      console.log(row);
      $(row).addClass("disabled");  
    }
  }

Примечание: это отключит всю строку от любых событий, если вы хотите, чтобы вы могли отключить только флажок, найдя внутренний элемент флажка:

$(row).find(".k-checkbox-label").addClass("disabled");

Ваш измененный пример: Отключено, отмечен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...