2014-04-29 33 views
2

遺漏的類型錯誤:無法讀取的不確定劍道網格顯示錯誤「遺漏的類型錯誤:無法讀取未定義的屬性‘模板’」

屬性「模板」我使用的是劍道網格。

我想禁用當我編輯。(不是當我添加一個新的記錄)一列.Did寫代碼時,編輯

function onEdit(e) { 
    var indexCell = 1; 
    var grid = $('#consumablesGrid').data('kendoGrid'); 


    if (e.model.id) { // when Editing the id is defined 
     if (indexCell != 'undefined' && grid.columns[indexCell].title == "Consumable") { 
      grid.closeCell();  
     } 
    } 
} 

但在執行grid.closeCell()當它顯示"Uncaught TypeError: Cannot read property 'template' of undefined "

爲了更好的理解,我包括我的全網格條件。

function ConsumableManager() { 
    $("#consumablesGrid").kendoGrid({ 
     dataSource: { 

      transport: { 
       read: { 
        url: "GetConsumablesGrid", 
        type: "POST", 
        contentType: "application/json", 
        dataType: "json" 
       }, 

       update: { 
        url: "UpdateConsumables", 
        contentType: "application/json", 
        type: "POST", 
        dataType: "json", 
        complete: function (data) { 
         var result = jQuery.parseJSON(data.responseText); 

         if (result.State == true) { 
          toastr.success(result.Description); 
          $("#consumablesGrid").data("kendoGrid").dataSource.read(); 
         } 
         else { 
          toastr.error(result.Description); 
          $("#consumablesGrid").data("kendoGrid").dataSource.read(); 
         } 
        } 

       }, 
       destroy: { 
        url: "DestroyConsumables", 
        contentType: "application/json", 
        type: "POST", 
        dataType: "json", 
        complete: function (data) { 
         var result = jQuery.parseJSON(data.responseText); 

         if (result.State == true) { 
          toastr.success(result.Description); 
          $("#consumablesGrid").data("kendoGrid").dataSource.read(); 
         } 
         else { 
          toastr.error(result.Description); 
         } 
        } 
       }, 
       create: { 
        url: "CreateConsumables", 
        contentType: "application/json", 
        type: "POST", 
        dataType: "json", 
        complete: function (data) { 
         var result = jQuery.parseJSON(data.responseText); 

         if (result.State == true) { 
          toastr.success(result.Description); 
          $("#consumablesGrid").data("kendoGrid").dataSource.read(); 
         } 
         else { 
          toastr.error(result.Description); 
         } 
        } 
       }, 
       parameterMap: function (data, operation) { 
        if (operation != "read") { 
         return kendo.stringify(data.models); 
        } 

       } 
      }, 

      serverPaging: false, 
      pageSize: 10, 
      batch: true, 

      schema: { 
       model: { 
        id: "ConsumablesID", 
        fields: { 
         ConsumablesID: { editable: false }, 
         Consumable: { editable: true }, 
         UnitCost: { editable: true }, 
         Currency: { editable: true }, 
         ContractID: { editable: false } 
        } 
       }, 
       errors: "Errors" 
      }, 

      error: function (e) { 
       alert(e.errors + "grid"); 
      } 
     }, 
     editable: 
      { 
       mode: "inline", 
       createAt: "bottom" 
      }, 
     pageable: { 
      refresh: true, 
      pageSizes: true 
     }, 
     toolbar: ["create"], 
     sortable: true, 
     autoBind: false, 

     edit: function (e) { 
      alert("Edit"); 
      onEdit(e); 
     }, 
     update: function (e) { 

     }, 
     columns: 
     [ 

      { field: "ConsumablesID", width: 50, hidden: true, title: "ID" }, 
      { field: "Consumable", width: 200, title: "Consumable", editor: ConsumablesDropDownEditor }, 
      { field: "UnitCost", width: 100, title: "Unit Cost" }, 
      { field: "Currency", width: 200, title: "Currency", editor: CurrencyUnitDropDownEditor }, 
      { field: "ContractID", width: 85, hidden: true, title: "ContractID" }, 

      { command: ["edit", "destroy"], title: "Action", width: "175px" } 
     ] 
    }); 


    $("#consumablesGrid").data("kendoGrid").dataSource.read(); 
} 

任何人都有想法爲什麼發生這種情況。我該怎麼做請回應。

1.I've網格

我想去爲可編輯的(假)當編輯(不適用於加)

+1

?我不認爲''Uncaught TypeError:無法讀取由'grid.closeCell()'造成的未定義的錯誤的'模板''註釋這行,並檢查錯誤是否消失? –

+0

@ImanMahmoudinasab我也只有'closeCell()'的問題。如果我評論該行它工作正常。 – ManirajSS

回答

1

電流Kendo UI支持jquery 1.9.1。如果您使用劍道使用jQuery的更高版本,您可能會遇到closeCell()的問題。

要解決(解決辦法)這個問題你解決你的問題,你可以使用的

$('#consumablesGrid').getKendoGrid().trigger('cancel') 

代替grid.closeCell()

相關問題