分享

extjs 关于修改时从数据库拿值formPanel自动加载数据

 2010smileForever 2010-10-16
关于修改时从数据库拿值formPanel自动加载数据
 
以前做修改时总是一个一个setValue进去的,现在好了自动帮你加载数据就不用一个一个设置进去了。


var stuId = new Ext.form.TextField({
fieldLabel:'学号',
anchor:'95%',
name:'studentNo',
readOnly:true,
allowBlank:false
});
var stuName = new Ext.form.TextField({
fieldLabel:'姓名',
anchor:'95%',
name:'name',
readOnly:true,
allowBlank:false
});
var unit = new Ext.form.TextField({
fieldLabel:'单位名称',
anchor:'95%',
name:'unit',
allowBlank:false    
});
var config_position={id:11};
var position = new ComboBox({
fieldLabel:'职位',
name:'position',
anchor:'95%',
allowBlank:false
},config_position);
var phone = new Ext.form.TextField({
fieldLabel:'单位电话',
anchor:'95%',
name:'phone',
regex:/^0(([1-9]{1}\d{1,2}\-{1})|([3-9]\d{2}))\d{7,8}$/,
allowBlank:false    
});
var tellphone = new Ext.form.NumberField({
fieldLabel:'手机号码',
anchor:'95%',
regex:/^0{0,1}(13[4-9]?|15[8-9]|15[0-1]|18[7-8])[0-9]{8}$/,
allowBlank:false    
});
var salary = new Ext.form.NumberField({
fieldLabel:'月薪',
name:'salary',
anchor:'95%',
allowBlank:false,
maxLength : 8
});
Ext.apply(Ext.form.VTypes,{
compute:function(i,h){//i就是触发这个事件的组件的值
if(h.param.id){
var o= new Date(i).getTime();
var e = new Date(Ext.getCmp(h.param.id).getValue()).getTime();
if(getDiffDate(o-e)<0){
return false;
}
return true;
}
},
computeText:'离职时间必须晚于入职时间'
});
var entryDate = new Ext.form.DateField({
id:'e1',
fieldLabel:'入职时间',
name:'entryDate',
anchor:'95%',
allowBlank:false,
format :'Y/m/d'
});
var leaveDate = new Ext.form.DateField({
id:'o1',
fieldLabel:'离职时间',
name:'leaveDate',
anchor:'95%',
format :'Y/m/d',
vtype:'compute',
param:{id:'e1'}           
});
var unitAddress =new Ext.form.TextField({
fieldLabel:'单位地址',
anchor:'95%',
name:'unitAddress',
allowBlank:false
                
});
var postalCode = new Ext.form.NumberField({
fieldLabel:'邮政编码',
name:'postalCode',
regex: /^\d{6}$/,
anchor:'95%',
allowBlank:false    
});
var config={id:17};
var state= new ComboBox({
name:'state',
anchor:'95%',
fieldLabel:'工作状态'  
},config);
var remark = new Ext.form.HtmlEditor({
fieldLabel:'备注',
name:'remark',
height:200,
anchor:'98%'
});
var classes =new Ext.form.TextField({
fieldLabel:'班级',
anchor:'95%',
name:'className',
allowBlank:false,
readOnly:true
});
var updateForm= new Ext.form.FormPanel({
id:'updateForm',
frame:true,
//waitMsgTarget : true, 没有此属性
reader: new Ext.data.JsonReader({ 
root: 'data'  
},[  
{name: 'name',mapping:'name'},
{ name:'studentNo',mapping:'studentNo'},
{ name:'phone',mapping:'phone'},
{ name:'unit',mapping:'unit'},
{ name:'className',mapping:'className'},
{ name:'unitAddress',mapping:'unitAddress'},
{ name:'salary',mapping:'salary'},
{ name:'postalCode',mapping:'postalCode'},
{ name:'entryDate',mapping:'entryDate'},
{ name:'leaveDate',mapping:'leaveDate'},
{ name:'remark',mapping:'remark'},
{ name:'state',mapping:'state'},
{ name:'position',mapping:'position'}
]), 

items: [{
layout:'column',
items:[{
columnWidth:.5,
layout: 'form',
items: [stuId,stuName,classes,unit,phone,unitAddress]
},{
columnWidth:.5,
layout: 'form',
items: [position,state,salary,postalCode,entryDate,leaveDate]
}]
},remark],
buttonsAlign:'right',
buttons:[{text:'提交',handler:function(){
}},{text:'重置',handler:function(){
       
}}]
});
var win = new Ext.Window({
id:'update',
layout:'fit',
title:'修改就业信息窗口',
width:720,
       height:500,
       resizable:false,
//closeAction:'hide',
waitMsgTarget : true,
//autoLoad:'employment.0905?method=doEdit',自动加载数据
items:[updateForm]
});
}
win.show();
updateForm.form.load({  
url : 'employment.0905?method=doEdit&id='+ record.get('id'),   
waitMsg : '正在载入数据...',   
success : function(form,action) {  
//console.dir(form);//用firebug调试
//var obj= eval("("+form.responseText+")");
alert(action.result.data.state);
Ext.MessageBox.alert('编辑', '载入成功!');   
},   
failure : function(form,action) {   
                Ext.MessageBox.alert('编辑', '载入失败');   
       }   
});   
  这里是一个重点

   reader: new Ext.data.JsonReader({ 
root: 'data'  
},[  
{name: 'name',mapping:'name'},
{ name:'studentNo',mapping:'studentNo'},
{ name:'phone',mapping:'phone'},
{ name:'unit',mapping:'unit'},
{ name:'className',mapping:'className'},
{ name:'unitAddress',mapping:'unitAddress'},
{ name:'salary',mapping:'salary'},
{ name:'postalCode',mapping:'postalCode'},
{ name:'entryDate',mapping:'entryDate'},
{ name:'leaveDate',mapping:'leaveDate'},
{ name:'remark',mapping:'remark'},
{ name:'state',mapping:'state'},
{ name:'position',mapping:'position'}
]), 

 updateForm.form.load({  
url : 'employment.0905?method=doEdit&id='+ record.get('id'),   
waitMsg : '正在载入数据...',   
success : function(form,action) {  
//console.dir(form);//用firebug调试
//var obj= eval("("+form.responseText+")");
alert(action.result.data.state);
Ext.MessageBox.alert('编辑', '载入成功!');   
},   
failure : function(form,action) {   
      Ext.MessageBox.alert('编辑', '载入失败');   
}   
});   

不用setValue了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约