2015-12-11 8 views
0

У меня есть сетка кендо внутри шаблона окна кендо. Сетка получает свои данные из другой сетки на основном пользовательском интерфейсе. В принципе, у меня есть модельная иерархия Fund -> Currency -> Allocations. Основная сетка пользовательского интерфейса заполнена целыми данными, при этом Фонд имеет подробный шаблон, который отображает его валюты и их распределения.Kendo UI Сетка отмены не восстанавливает исходные данные

Теперь, позвольте мне дать некоторые фрагменты кода:

Основная сетка:

<div kendo-grid="ctrl.fundGrid" style="margin-top: 2em" k-options="ctrl.fundGridOptions" k-scope-field="kgrid" id="myGrid" k-height='600'></div> 

Шаблон для редактирования текста:

<script id="edit-template" type="text/x-kendo-template"> 
<div class="container"> 
    <div kendo-grid="ctrl.currencyKendoGrid" ng-show="ctrl.IsVisible" style="margin-top: 2em" id="myGrid" k-options="ctrl.currencyGridOptions"> 
     <div k-detail-template> 
      <div id="allocGrid" kendo-grid k-options="ctrl.allocationGridOptions(dataItem)" ng-show="dataItem.FundCurrencyId!=0"></div> 
     </div> 
    </div> 
</div> 

редактируемой конфигурации, которая настраивает редактирования шаблон окна:

editable: { 
      mode: "popup", 
      template: kendo.template($("#edit-template").html()), 
      //confirmation: "Are you sure you want to delete this fund?", 
      window: { 
       title: "Edit Fund Details", 
       animation: false, 
       height: "800", 
       width: "1200" 
      } 
     }, 

Основное сетки редактирование события:

edit: function (e) { 
    if (e.model.Currencies) 
       ctrl.currencyKendoGrid.dataSource.data(e.model.Currencies); 
} 

Валютной сетки DATASOURCE чтение сконфигурировано, как показано ниже:

dataSource: { 
    transport: { 
     read: function (e) { 
      e.success(); 
     }, 
    } 
} 

Валютная сетка редактируемая и имеет редактировать, уничтожать команды настроены. Однако, когда я редактирую строку строки в строке, а затем отменю редактирование строки вместо обновления, строка не восстанавливает данные валюты в ее исходное состояние. Может ли кто-нибудь помочь мне понять, что заставляет сетку кендо восстанавливать свое состояние при отмене, и точно, в чем проблема с моей сетью кендо?

+0

Вы нашли решение? –

ответ

0

У меня была ситуация, когда мне нужно было всегда скрывать кнопку «Удалить» на некоторых строках в моей сетке. Когда была нажата кнопка «Отмена», кнопка «Удалить» снова появится. Это то, что я сделал для решения проблемы:

$(document).on("click", ".k-grid-edit", function() { 
     var cancelbtn = $(".k-grid-cancel"); 

     cancelbtn.each(function() { 
      var _this = $(this); 
      _this.attr("onclick", "cancelEdit()"); 
     }); 
    }); 

    function cancelEdit() { 
     $("#MyGrid").data("kendoGrid").dataSource.read(); 
    }