我有同樣的問題,當我試圖編輯我在IE7網(未Chrome存在的問題)。
我認爲問題是我的保存按鈕事件處理程序被調用之前,onBlur事件可以告訴編輯單元完成其編輯並將其值存儲在商店。
我所做的解決,這是:
(1)分別定義我的面板網格編輯。
var myPanelGridEditor = Ext.create('Ext.grid.plugin.CellEditing', {
ptype: 'cellediting',
clicksToEdit: 1
});
(2)定義我的面板格,其包括在所述插件我的面板網格編輯器。
var myGrid = Ext.create('Ext.grid.Panel', {
id: 'myPanelGrid', store: myStore, viewConfig: {markDirty: false},
columnLines: true,
columns: [
{header: 'HE01', dataIndex: 'vp01', sortable: false, maxWidth: 40, field: {xtype: 'numberfield', minValue: 0, hideTrigger: true, decimalPrecision: 4 }},
{header: 'HE02', dataIndex: 'vp02', sortable: false, maxWidth: 40, field: {xtype: 'numberfield', minValue: 0, hideTrigger: true, decimalPrecision: 4 }}
],
selModel: Ext.create('Ext.selection.RowModel', {mode: 'SINGLE'}),
plugins: [myPanelGridEditor],
height: 73, width: 1010, margin: '0 0 12 30'
});
(3)在我的保存按鈕事件處理程序
{
text: 'Save',
formBind: true,
id: 'saveButton',
handler: function() {
myPanelGridEditor.completeEdit();
...
}
}
理論上添加到completeEdit()的調用,你應該能夠調用
myGridPanel.editingPlugin.completeEdit();
在你的存儲處理器,但在Ext JS 3.3.1中,該屬性爲null。
感謝您的幫助,我試了一下,但沒有成功,我想進一步解釋。場景是,我處於列編輯器中,而不是在編輯器外部單擊以將記錄標記爲髒,我直接單擊保存按鈕。現在當我在服務器端檢查時,我沒有得到正在編輯的記錄,然後跳到保存按鈕。 – asolvent
嗯..你有沒有試過聽cellEditing'edit'事件?請看我最新的答案。 – wens
不幸的是,這並沒有工作。它看起來像是通過設計。 – asolvent