rnase a用量:extjs 关于修改时从数据库拿值formPanel自动加载数据

来源:百度文库 编辑:中财网 时间:2024/05/09 09:40:11
关于修改时从数据库拿值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了