2016-10-25 11 views
0

검도 그리드에서 하나의 열을 편집해야하는 요구 사항에 대해 작업하고 있습니다. 그러나 여기 그리드에서 조건에 따라 표시되는 열이 있습니다. 문제는 열을 편집 할 때 숨겨진 열로 시작한다는 것입니다.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} 
]'> 
여기

편집기 템플릿입니다 :

여기 enter image description here

내 MVVM 코드 :

enter image description here

항목 열을 편집 한 후에는 AreSkusInUse 열을 보여줍니다

<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> 

여기서 우리 AreSkusInUse 열이 조건에 기초하여 표시되는 볼 수있다.

그래서 두 개의 도움이 필요합니다.
자식 Qty 이외의 모든 열을 편집 가능으로 설정하는 방법은 false입니다.
문제를 어떻게 해결할 수 있습니까? 편집 할 때 각각의 제출 된 데이터가 표시되어야합니다.

답변

1
  1. 당신은 필드 편집을 설정하는 스키마를 설정할 수 있습니다
    "어떻게 거짓 편집에 아이 수량 이상의 모든 열을 다른 수 있도록"감사합니다 거짓을

    ItemCd: { type: "string", editable: false } 
    
  2. "편집 문제를 어떻게 해결할 수 있습니까? 편집 할 때 해당 파일을 표시해야합니다."
    은 템플릿에서 필드 값을 지정

    <tr data-uid='#=uid#'> 
        <td> 
        <input type="number" value="#:ChildQty#" data-bind="value: ChildQty"> 
        </td> 
    </tr>