ext 的 RowExpander 官方的 只能加在 html,不能加载 ext的 组件对象。由于特殊的需求,需在RowExpander里边加一个form,所以不得不,自定义 RowExpander 组件。不多废话。
首先 ,去ext的官方论坛下载一个订制RowExpander.js我传附件把 。 把他替换原来的RowExpander.js 这个文件。
然后,这是我写的代码,在RowExpander 中添加了一个FormPanel 。
var expander = new Ext.ux.grid.RowPanelExpander({
createExpandingRowPanelItems: function(record, rowIndex){
var panelItems = [
new Ext.FormPanel({
labelWidth: 75, // label settings here cascade unless overridden
url:'save-form.php',
frame:true,
width: 650,
defaults: {width: 330},
defaultType: 'textfield',
items: [{
fieldLabel: 'First Name',
name: 'first',
allowBlank:false
},{
fieldLabel: 'Last Name',
name: 'last'
},{
fieldLabel: 'Company',
name: 'company'
}, {
fieldLabel: 'Email',
name: 'email',
vtype:'email'
}, new Ext.form.TimeField({
fieldLabel: 'Time',
name: 'time',
minValue: '8:00am',
maxValue: '6:00pm'
})
],
bbar: [{
text: 'Save',
id: 'kashdk' ,
handler:function(){
alert(record.get('company'));
}
},{
text: 'Cancel',
id: 'aopsduah'
}]
})
];
return panelItems;
}
});