87,910
社区成员
发帖
与我相关
我的任务
分享
var simpleForm = new Ext.form.FormPanel({
defaultType:'textfield',
renderTo:document.body,
items:[
{name:'username', fieldLabel:'用户名'},
{name:'state', fieldLabel:'state'},
{name:'userid', fieldLabel:'用户ID'},
{name:'depid', fieldLabel:'depid'},
{name:'type', fieldLabel:'类型'}
],
store:new Ext.data.JsonStore({
url:'../gridShow/userInfoDisplay.action',
root:'jsonItems',
fields:['userid','type','state','depid','username']
}),
buttons:[
{text:'加载',handler:function(b){
var form = b.findParentByType('form');
form.el.mask('数据加载中');
form.store.load({
callback:function(r){
if(r.length > 0)form.getForm().loadRecord(r[0]);
form.el.unmask();
form = null;
}
});
}}
]
});
简单地写了一个,测试没问题,环境是ext3,应该和2差不多吧。
关键点:
1.form表单配置时各个元素与store的fields一一对应。
2.store的load函数可以有个参数,参数配置请看文档。
参数是个对象,如果配置了callback属性,并且该属性是个函数,那么会在load完毕后调用该方法。
该方法有3个参数,一般常用第一个,后几个很少用,第一个是本次load加载的record集合,一个数组。
3.在回调函数中用form.getForm()获取form的BasicForm并调用其loadRecord方法加载回调函数第一个参数的第一个record。
你的json有误
{"ajaxResult":"success","jsonItems":[{"username":"李主任","state":"1","userid":"131000000000000001","depid":CC0320","type":"0"}]}
在CC0320前面少了一个"