封装扩展组件

PersonViewFormPanel = Ext.extend(Ext.form.FormPanel, {
constructor : function(){
PersonViewFormPanel.superclass.constructor.call(this , {
selModel:new Ext.grid.RowSelectionModel({
singleSelect:true,
listeners:{
fn:function(_sel,_index,_r){
this.fireEvent('rowselect',_r); //触发

PersonViewFormPanel 公布的事件
},
scope:this  //代表PersonViewFormPanel
}
})
});
//公布事件
this.addEvents('rowselect')
}
//获得表单的值
getValues:function(){
return new Ext.data.Record(this.getForm().getValues());
},
//设置表单的值
setValues:function(_record){
this.getForm().loadRecord(_record);
},
//重设表单
reset:function(){
this.getForm().reset();
}

});


//////////////
InsertPersonInfoWindow = new extend(Ext.Window , {
modal:true;//模式窗口
form:new PersonViewFormPanel(),
constructor:function(){
InsertPersonInfoWindow.superclass.constructor.call(this,{
plain:true,
width:200,
items:this.form,
buttons:[{
text:'确定',
handler:this.onSubmitClick,
},{
text:'取消'
}]
});
},
onSubmitClick:function(){
alert(Ext.util.JSON.encode(this.form.getValues().data));
},
onCancelClick:function(){
}
});



if(this.getForm().isValid()){

}else{
throw Error('表单验证不通过');
}

你可能感兴趣的:(json,ext)