2016-05-27 9 views
1

Я создал сетку KendoUI, где в первом столбце используется собственный редактор. После редактирования он не вызывает запрос обновления, однако, если он не использует редактор, он будет вызывать запрос обновления. Зачем?Редактор ячейки сетки kendoui выпадающего списка

var columns = [ 
    { field: 'AccountId', title: '客户名称', locked: false, template: '#= me.detail.brandName(data, \'ID\') #', editor: accountGridEditor, width: 200 }, 
    { field: 'BankNo', title: '付款银行', template: '#= me.detail.format(data, \'Bank\') #', attributes: { style: 'text-align: left;' }, width: 150 },        
    { field: 'UnLinkedAmount', title: '未分配', template: '#= me.detail.format(data, \'UnLinkedAmount\') #', attributes: { style: 'text-align: left;' }, width: 100 }, 
    { command: ["edit", "destroy"], title: " ", width: "250px" } 
    ]; 


var dataSource = c.dataSourceOption({ 
    transport: { 
    read: { url: url.api('Finance/FundJournal') }, 
    update: { url: url.api('Finance/FundJournal', { action: 'post' }) }, 
    destroy: { url: url.api('Finance/FundJournal', { action: 'delete' }), type: 'delete' }, 
    parameterMap: function (data, type) { 
     console.log(type); 
     console.log(data); 
     if (type === 'read') return getReadParameters(); 
     if (type === "update") return data; 
     if (type === 'create') return data; 
     if (type === 'destroy') return { id: data.Id }; 
     return data; 
    } 
}, 
schema: { 
    model: { 
     id: "Id", 
     fields: { 
     AccountId: { editable: true, nullable: false, validation: { required: true } }, 
     BankNo: { editable: false}, 
     UnLinkedAmount: { editable: false } 
    } 
          } 
}, 
filter: [{ field: 'SubType', operator: 'neq', value: 'Id' }] 

}); 

    var grid = $("#result").kendoGrid({ 
    dataSource: dataSource, 
    height: 550, 
    columns: columns, 
    editable: "inline", 
    save:function(e){$.ajax();} 
}).data('kendoGrid'); 
+0

необходимо увидеть редактор. Но кажется, что отредактированная запись не отмечена как грязная после обновления с помощью настраиваемого –

+0

Да, вы правы. Наконец, я добавляю конфигурацию события сохранения в сетку –

+0

Рад помочь. будет признателен, если вы примете ответ;) –

ответ

0

Если запись свойство устанавливается из DROPDOWNLIST что-то вроде этого:

change: function() { 
    options.model.Name = this.value(); 
    options.model.dirty = true; 
} 

необходимо явно установить эту модель как грязный, чтобы сказать DataSource, что эта запись была изменена и должны быть обновлены , В противном случае вы можете использовать set().

change: function() { 
    options.model.set('Name',this.value()); 
} 

Таким образом, запись автоматически помечена как загрязненная в источнике данных.

 Смежные вопросы

  • Нет связанных вопросов^_^