2016-12-23 9 views
0

https://jsfiddle.net/sshetye08/1uh6m6wj/4/Кендо UI сетка пожары создать событие по сортировке

Шагов для воспроизведения.

  1. Нажмите «Добавить новую запись».

  2. Щелкните по значку сортировки любого столбца.

  3. Наблюдать данные сетки.

Ошибка: запись сохраняется, хотя я не нажал значок «сохранить».

У кого-нибудь есть решение для этого.

index.html

<base href="http://demos.telerik.com/kendo-ui/grid/editing"> 
<body> 
    <div id="example"> 
     <div id="grid"></div> 
    </div> 
</body> 

script.js

$(document).ready(function() { 
        var crudServiceBaseUrl = "//demos.telerik.com/kendo-ui/service", 
         dataSource = new kendo.data.DataSource({ 
          transport: { 
           read: { 
            url: crudServiceBaseUrl + "/Products", 
            dataType: "jsonp" 
           }, 
           update: { 
            url: crudServiceBaseUrl + "/Products/Update", 
            dataType: "jsonp" 
           }, 
           destroy: { 
            url: crudServiceBaseUrl + "/Products/Destroy", 
            dataType: "jsonp" 
           }, 
           create: { 
            url: crudServiceBaseUrl + "/Products/Create", 
            dataType: "jsonp" 
           }, 
           parameterMap: function(options, operation) { 
            if (operation !== "read" && options.models) { 
             return {models: kendo.stringify(options.models)}; 
            } 
           } 
          }, 
          batch: true, 
          pageSize: 20, 
          schema: { 
           model: { 
            id: "ProductID", 
            fields: { 
             ProductID: { editable: false, nullable: true }, 
             ProductName: { validation: { required: true } }, 
             UnitPrice: { type: "number", validation: { required: true, min: 1} }, 
             Discontinued: { type: "boolean" }, 
             UnitsInStock: { type: "number", validation: { min: 0, required: true } } 
            } 
           } 
          } 
         }); 

        $("#grid").kendoGrid({ 
         dataSource: dataSource, 
         sortable: true, 
         navigatable: true, 
         pageable: true, 
         height: 550, 
         toolbar: ["create", "save", "cancel"], 
         columns: [ 
          "ProductName", 
          { field: "UnitPrice", title: "Unit Price", format: "{0:c}", width: 120 }, 
          { field: "UnitsInStock", title: "Units In Stock", width: 120 }, 
          { field: "Discontinued", width: 120 }, 
          { command: "destroy", title: "&nbsp;", width: 150 }], 
         editable: true 
        }); 
       }); 
+0

Что вы подразумеваете под записью - это спасение? Он, безусловно, добавляется к локальному источнику данных (иначе он не будет в сетке вообще), но создание транспорта dataSource (то есть, где вы его сохраняете на сервере) не вызывается. Если вы обновите сетку, новая строка не будет там, если вы не нажмете «Сохранить». –

ответ

0

Запись не сохраняется, это только добавило к сетке. На самом деле существует ошибка, из-за которой исчезает «грязная» аннотация (маленький красный треугольник) после сортировки, но если вы нажмете кнопку «ОТМЕНА ИЗМЕНЕНИЙ», добавленная строка будет удалена, а строки, сохраненные с помощью «СОХРАНИТЬ» CHANGES "останется.