2016-04-19 1 views
0

Как сделать столбец сетки кендо неотредактированным только в клиентском интерфейсе, но я могу установить для него значение в моем сценарии?Как сделать столбец сетки не редактируемым только в пользовательском интерфейсе - можно установить значение с помощью кода

var dataSource = new kendo.data.DataSource({ 
       data: result, 
       schema: { 
        model: { 
         fields: { 
          IsSelected:{type:"boolean",editable:true}, 
          InvoiceDate: { type: "date",editable:false } 
         } 
        } 
       } 
      }); 

кендо Сетка

$('#grdClaim').kendoGrid({ 
    height: "300px", 
    sortable: true, 
    resizable: true, 
    filterable: true, 
    editable:true, 
    columns: [ 
     { 
      sortable: false, 
      filterable: false, 
      width: '30px', 
      field: "IsSelected", 
      title: "<input type='checkbox' id='chkSelectAll' onclick='checkAll()'checked/>", 
      template: '<input type="checkbox" id="selectedIds" name="selectedIds" #= IsSelected ? \'checked="checked"\' : "" # class="chkbx"/> ', 
     }]}); 

Что мне нужно сделать, это сделать поле «IsSelected» редактируемые на мой код Js, не имея возможности изменить его значение на сетке? Как:

var grid = $("#grdClaim").data("kendoGrid"); 
    var dataItem = grid.dataItem($(e.target).closest("tr")); 
    dataItem.set("IsSelected", $(e.target).is(":checked") ? 1 : 0); 

Примечание: Я использую кендо 2013

+0

Помогите мне понять. Вы хотите программно установить значение 'editable: false' в столбце' isSelected'. Я прав ? – DontVoteMeDown

+0

@DontVoteMeDown, Не уходите вправо, я хочу, чтобы поле isSelected было редактировалось программно, но только на экране. и kendoGrid является 'editable: true' –

+0

@DontVoteMeDown Основная проблема заключается в том, что пользователь нажимает' td', который содержит мой шаблон, который он преобразует в другой флажок, а не мой шаблон! –

ответ

1

Вы можете установить отключил атрибут в шаблоне, как показано ниже, чтобы сделать столбец нередактируемый

columns: [ 
    { 
     sortable: false, 
     filterable: false, 
     width: '30px', 
     field: "IsSelected", 
     title: "<input type='checkbox' id='chkSelectAll' onclick='checkAll()'checked/>", 
     template: '<input type="checkbox" disabled="disabled" id="selectedIds" name="selectedIds" #= IsSelected ? \'checked="checked"\' : "" # class="chkbx"/> ', 
    }] 
+0

'disabled =" disabled "' сделает шаблон бесполезным, я хочу, чтобы шаблон работал, и когда конечный пользователь нажимает на 'td', который содержит мой шаблон, возможность редактирования kendoGrid отключена –

+0

Я хочу что-то вроде' editable: false' на уровне столбца не уровень схемы ,, 'столбцы: [ { редактируемый: false }]' –

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