2013-09-23 7 views
2

Возможно ли получить доступ и изменить данные в сетке пользовательского интерфейса Kendo до обновления?Kendo UI, Grid, изменить Данные перед отправкой

Ниже приведен пример, иллюстрирующий то, что мне нужно. options.data содержит отправленные данные, но уже отформатирован в строке "models=%B7%22Id22%.... etc" не очень удобная форма.

dataSource = new kendo.data.DataSource({ 
      transport: { 
       read: { 
        ... 
       }, 
       update: { 
        url: baseURL + "update", 
        beforeSend: function(xhr, options){ 
         xhr.setRequestHeader('API-KEY', apikey); 
         var modifiedData = doSomething(options.data); 
         return modifiedData; 
        }, 
        dataType: "json", 
        method: "POST", 
        dataFilter: function(data){ 
         ... some data recieved modification 
         return JSON.stringify(somedata); 
        }, 
        complete: function(e) { 
         .... 
        } 
       }, 

ответ

5

Вы должны быть в состоянии использовать функцию parameterMap, проверьте тип для «обновления» и изменить options.data в любом случае вы хотите.

parameterMap: function(options, type) { 
    if(type === "update") { 
     options.someProperty = "somenewvalue"; 
    } 
    return kendo.data.transports.odata.parameterMap(options, type); 
}