我不是要在ext窗口中设置行选数据,你能不能给出解决方案。我的代码在这里..
var shiftWindow = Ext.create('Ext.window.Window', {
title: 'Edit Shift',
resizable: false,
id: 'shiftwindow',
width: 465,
//bodyPadding: 5,
modal: true,
store: shiftStorePlanner,
items: {
xtype: 'form',
id: 'idFormShift',
bodyPadding: 10,
items: shiftViewModelPlannerData
},
buttons: [{
text: 'Save',
cls: 'planner-save-button',
overCls: 'planner-save-button-over',
handler: function() {
var wi = this.up('.window')
var form = Ext.getCmp('idFormShift');
if (form.isValid()) {
shiftTimemappingarray = [];
getShiftTime();
//this.up('.window').close();
}
}
}, {
text: 'Cancel',
handler: function() {
this.up('.window').close();
}
}]
});
var host1 = Ext.getCmp('plannershifteditor');
var selection = host1._shiftPlannerGrid.getSelectionModel().getSelection();
if (selection.length === 0) {
return;
}
Ext.getCmp('shiftWindow').getForm().setValues(selection[0].data);
shiftWindow.show();
}
答案 0 :(得分:1)
取决于您的ExtJS版本:
var selection = grid.getSelectionModel().getSelection();
grid.getForm().loadRecord(selection[0]);
稍后您可以使用updateRecord()
使用表单值更新模型。
更多信息:
ExtJS 5及更高版本也支持viewmodel绑定。这将自动完成工作。