Как отредактировать конкретный столбец в сетке кендо MVVM?

Я работаю над требованием, в котором мне нужно отредактировать один столбец в сетке кендо. Но здесь, в сетке, у нас есть столбец, отображаемый в зависимости от условия. проблема в том, что когда мы редактируем столбец, он начинается со скрытого столбца.

введите описание изображения здесь

после редактирования столбца элемента отображается столбец AreSkusInUse:  введите описание изображения здесь

Вот мой код MVVM:

<div id="BomEditorGrid"
 class=""
 data-role="grid"
 data-resizable="true"
 data-sortable="false"
 data-filterable='{ "extra":false, "operators": { "string": { "contains":"Contains", "doesnotcontain" : "Does not contain", "startswith":"Starts with", "endswith": "Ends with", "eq": "Equal to", "neq" : "Not equal to" } }}'
 data-bind="source: bomEditorDataSource"
 data-editable='{"mode": "incell", "template": kendo.template($("#bomEditorEditTemplate").html()) }'
 data-row-template="bomEditorRowTemplate"
 data-alt-row-template="bomEditorAltRowTemplate"
 data-columns='[
 {"field": "Selected", "title": "Selected", "filterable": false , "sortable": false, "headerTemplate": kendo.template($("#gridHeaderWithCheckboxTemplate").html()), width: 100},
 {"field": "AreSkusInUse",  "title": "SKUs In Use", hidden: true},
 {"field": "ItemCd",  "title": "Item Code"},
 {"field": "DesignItemNm",  "title": "Item"},
 {"field": "ChildQty",  "title": "Child Qty", "filterable": false, width: 100},
 {"field": "TemplateDsc",  "title": "Template"},
 {"field": "ParentItemNm", "title": "Parent", hidden: true},
 {"field": "CreatedByBookNm",  "title": "Created By"},
 {"field": "MaterialTypeCd",  "title": "Material Type", hidden: true, "template": kendo.template($("#MaterialTypeColumnTemplate").html())},
 {"field": "DesignGroup", "title": "DesignGroup", hidden: true},
 {"field": "CrudType", "title": "Change", "filterable": false}
 ]'>

here is the editor template:

<script id="bomEditorEditTemplate" type="text/x-kendo-tmpl">
<tr data-uid='#= uid #'>
    <td><input type="checkbox" class="cb-itemSelected" data-bind='checked:Selected' /></td>
    # if (BomEditorType === "PFAM") {#
    <td>#: AreSkusInUse #</td>
    #}#
    <td>#: ItemCd #</td>
    <td>#: DesignItemNm #</td>
    <td><input type="text" data-bind="value: ChildQty" /></td>
    # if (MaterialTypeCd !== "DIEN" && MaterialTypeCd !== "FERT") {#
    <td>#: TemplateDsc #</td>
    #}#
    <td>#: CreatedByBookNm #</td>
    # if (BomEditorType === "FERT") {#
    <td>#: MaterialTypeCd #</td>
    #}#
    <td> <img data-bind="attr:{ class: ChangeIndicatorCssClass}" src="/5/DesignItem/Content/Images/Transparent.gif" /> </td>
</tr>

Here we can see AreSkusInUse column is showing based on condition.

Поэтому мне нужны две помощи:
как сделать все столбцы, кроме Child Qty, редактируемыми false.
как я могу решить проблему редактирования. При редактировании должны отображаться соответствующие полевые данные.

Спасибо


person Rajesh Biswas    schedule 25.10.2016    source источник


Ответы (1)


  1. "как сделать все столбцы, кроме Child Qty, доступными для редактирования false"
    Вы можете установить схему, чтобы сделать поле редактируемым: false

    ItemCd: { type: "string", editable: false }
    
  2. «Как я могу решить проблему редактирования. При редактировании должны отображаться соответствующие полевые данные».
    Укажите значение поля в шаблоне

    <tr data-uid='#=uid#'>
      <td>
        <input type="number" value="#:ChildQty#" data-bind="value: ChildQty">
      </td>
    </tr>
    
person Cara Tilos    schedule 27.03.2017