Ext.form.formPanel 与服务器交互 初始化表单
formPanel 初始化表单有两种方式加载,一种是本地加载,一种是通过返回回来的Json格式数据加载到表单里面。 远程加载是通过 form.getForm().load()加载。 var empReader = new Ext.data.JsonReader //解析Json格式数据。 ({ name:"empNo ", //表单对应的属性名 mapping:"empNo" //为json数据里面 对应的属性值 },{name:"empName", mapping:"empName"});
// 从后台加载json格式数据 //json数据,即action中 selectByPrimaryEmployee 所要返回到页面的json数据格式 var json = [{empNo:"111",empName:"小王"}]; printwrite.print(json); //将数据返回到前台 这样子就是通过将服务器数据加载到表单显示。一定要注意,加载本地和加载远程不要用错方法了,加载远程是用load(),里面传的url。 本地用 加载用loadRecord(),直接传入一个Stroe的记录集,就可以加载进去。 ------------------------------------------------------------------------------------------------------------------------------------ grid.on('rowdblclick', function(grid, rowIndex, e) {
Ext.form.Form.loadRecord( Record record ) 加载一条记录,如果再做一点简单的工作,form可以根据grid记录的结构自动生成、渲染。
baseCls : 'x-plain', labelWidth : 75, url : 'editCustomer.adminService', defaultType : 'textfield', items : [new Ext.form.TextField( { fieldLabel : 'userID', allowBlank : false, name : 'id', anchor : '90%' }), { fieldLabel : '用户名', name : 'name', allowBlank : false,// readOnly:true, anchor : '90%' }, { fieldLabel : '真实姓名', name : 'realName', allowBlank : false, anchor : '90%' }, { fieldLabel : '国籍', name : 'unation', allowBlank : false, anchor : '90%' }] }); var editWin; var editCustomer = function() { if (!currRecord) { Ext.MessageBox.alert('提示', '请选择一个用户。'); } else { if (!editWin) { editWin = new Ext.Window( { title : '修改用户信息', layout : 'fit', width : 500, height : 300, closeAction : 'hide', plain : true, modal : true, items : editForm, buttons : [ { text : '保存', handler : function() { // 保存修改信息 if (editForm.form.isValid()) { editForm.form.submit( { waitMsg : '正在处理...', failure : function(form, action) { Ext.MessageBox.alert( 'Error Message', '保存失败'); }, success : function(form, action) { Ext.MessageBox.alert('提示', '保存成功'); addWin.hide(); store.reload(); } }); } else { Ext.MessageBox .alert('错误', '请修正页面提示的错误后提交。'); } } }, { text : '关闭', handler : function() { editWin.hide(); } }] }); } editWin.show(); editForm.getForm().loadRecord(currRecord); } } |
|
来自: 喜气蜘蛛 > 《JavaScript》