extjs4 callback的使用方法
这个form 不配置store 但是可以通过callback 将数据传入当前的form表单。
1.先写一个store 然后定义fields 和model 作用是一样的,后台加载数据到store_1中去,2. 将store 中的数据进行回召, store_1.getAt(0)根据索引得到数据 赋值给变量data,然后利用 me 就是this 前面定义过,this 指的就是上面的一个form表单。然后利用loadRecord()方法将data 放入这个form表单中。前台就可以看到数据了。
Ext.define("hyzc.hyxxck.view.hyxxckView",{
extend:"Ext.form.Panel",
alias:"widget.gnxh101",
id:"gnxh101id",
autoScroll:true,
layout:'anchor',
defaults:{
xtype:'fieldset',
layout:'hbox',
collapsed:false,
anchor:'98%',
collapsible: true
},
buttonAlign:"center",
items:[
{
title:'<font color="black">基本信息</font>',
defaults:{
xtype:'container',
flex: 2,
layout:'anchor',
defaults:{
xtype:'displayfield',
labelAlign:"right",
margin:'5 5 5 5',
anchor:'98%',
labelWidth:125
}
},
items:[
{
items:[
{name:'name',fieldLabel:'<font color="blue">姓         名</font>'},
{name:'organization',fieldLabel:'<font color="blue">单         位</font>'},
{name:'id_num',fieldLabel:'<font color="blue">最 高 学 历</font>'},
{name:'positon',fieldLabel : '<font color="blue">开户行名称</font>'},
]
},
{
items:[
{name:'postcode',fieldLabel:'<font color="blue">邮         编</font>'},
{name:'mobile_telephone',fieldLabel:'<font color="blue">移动  电话</font>'},
{name:'email',fieldLabel:'<font color="blue">电子  邮箱</font>'},
{name:'bank_exname',fieldLabel : '<font color="blue">开户人姓名</font>'},
]
},
]
},
],
listeners:{
'beforerender':function(){
var me = this;
var store_1 = Ext.create('Ext.data.Store',{
pageSize:50,
fields: [
"name",
"id_num",
"organization",
"position"
],
proxy:{
type:"ajax",
api:{
read:"/LFZXXT/zc/pxhyzc/readHYData.action"
},
reader:{
type:"json",
root:"jsonarray",
totalProperty:"total"
}
},
autoLoad:false
});
store_1.load({
callback:function(records,operation,success){
if(success){
var cnt = store_1.getCount();
if(!(cnt>0))
return null;
var data = store_1.getAt(0);
me.loadRecord(data);
}
}
});
}
},
dockedItems : [
{
xtype:'toolbar',
name:'dispcon',
layout: { type: 'hbox'},
items:[
'->',
{
xtype:'label',
html:'<font color=black size=5px><b>查看</b></font>'
},
'->'
]
},
]
});