您的位置:首页 > 其它

EXT 使用表单修改数据

2009-12-16 11:22 239 查看
//查询管理员数据的store

var ds_manager=new Ext.data.JsonStore({
url:"manager!selectforback.ph",
totalProperty: "results",
root: "list",
fields:[{name : 'managerId',mapping : 'managerId',type : 'int'},
{name : 'account',mapping : 'account',type : 'string'},
{name : 'password',mapping : 'password',type : 'string'},
{name : 'truename',mapping : 'truename',type : 'string'},
{name : 'sex',mapping : 'sex',type : 'string'},
{name : 'telephone',mapping : 'telephone',type : 'string'},
{name : 'mobeilphone',mapping : 'mobeilphone',type : 'string'},
{name : 'department',mapping : 'department',type : 'string'},
{name : 'job',mapping : 'job',type : 'string'},
{name : 'addTime',mapping : 'addTime'},
{name : 'logintime',mapping : 'logintime',type : 'int'},
{name : 'remark',mapping : 'remark',type : 'string'}]
});
ds_manager.load();


//修改用户信息的表单

var managerEditForm = new Ext.FormPanel({
border : false,
baseCls : 'x-plain',
bodyStyle : 'padding:5px 5px 0',
labelAlign : 'right',
labelWidth : 70,
url : 'manager!update.ph',
defaults : {anchor : '93%',msgTarget : 'side'},
defaultType : 'textfield',
items : [{
xtype : 'hidden',
name : 'managerId'
},{
fieldLabel : '用户名',
id : 'account',
name : 'account',
allowBlank : false,
readOnly:true,
maxLength : 30
}, {
fieldLabel : '密码',
id : 'password1',
name : 'password',
allowBlank : false,
minLength : 6,
maxLength : 30,
inputType:'password'
},{
fieldLabel : '确认密码',
id : 'password2',
name : 'surepassword',
minLength : 6,
maxLength : 30,
inputType:'password',
vtype:'password',
vtypeText:"两次密码不一致!",
confirmTo:'password1',
allowBlank : false
}, {fieldLabel : '用户姓名',name : 'truename',allowBlank : false,maxLength : 20},
{xtype : 'combo',
fieldLabel : '性别',
mode : 'local',
name : 'sex',
editable : false,
store : new Ext.data.SimpleStore({
data : [['男', '男'], ['女', '女']],
fields : ['text', 'value']
}),
displayField : 'text',
valueField : 'value',
mode : 'local',
triggerAction : 'all',
emptyText : '请选择性别'
},{
fieldLabel : '所属部门',
id : 'dept',
name : 'department',
allowBlank : false,
maxLength : 30
},{
fieldLabel : '职称',
id : 'duty',
name : 'job',
allowBlank : false,
maxLength : 30
},
{fieldLabel : '联系电话',name : 'telephone',allowBlank : false,maxLength : 50},
{fieldLabel : '手机号码',name : 'mobeilphone',allowBlank : false,maxLength : 20},
{fieldLabel : '备注',name : 'remark',xtype : 'textarea',maxLength : 120}
],
buttonAlign : 'center',
minButtonWidth : 60,
buttons : [{
text : '修改',
handler : function(btn){
if (managerEditForm.getForm().isValid()) {
btn.disable();
managerEditForm.getForm().submit({
waitTitle : '请稍候',
waitMsg : '正在修改数据,请稍候...',
success : function(form,action) {
Ext.Msg.show({
title : '成功提示',
msg : '修改成功!!',
buttons : Ext.Msg.OK,
fn : function() {
ds_manager.load();
btn.enable();
}
});
},
failure : function(form, action) {
Ext.Msg.show({
title : '错误提示',
msg : '操作失败!',
buttons : Ext.Msg.OK,
fn : function() {btn.enable();},
icon : Ext.Msg.ERROR
});
}
});
}
}
},{
text : '重置',
handler : function() {
var record = grid_manager.getSelectionModel().getSelected();
if(record){
managerEditForm.getForm().loadRecord(record);
}
}
}, {
text : '取消',
handler : function() {this.ownerCt.ownerCt.hide();}
}]
});


//修改用户信息的窗体

var window_edit_manager = new Ext.Window({
title : '编辑用户信息',
width : 620,
resizable : false,
autoHeight : true,
modal : true,
closeAction : 'hide',
items : [managerEditForm]

});


//修改用户按钮

var btn_modify_manager = new Ext.Button({
text : '修改用户',
iconCls : 'icon-edit',
handler : function() {
var record = grid_manager.getSelectionModel().getSelected();
if(!record){
Ext.Msg.show({
title : '错误提示',
msg : '请选择您要修改的数据!',
buttons : Ext.Msg.OK,
icon : Ext.Msg.ERROR
});
}else{
if(record){
window_edit_manager.show();
managerEditForm.getForm().loadRecord(record);
}
}
}
});


//用户管理的grid

var grid_manager = new Ext.grid.GridPanel({
title : '用户管理',
region : 'center',
height:150,
cm:cm_manager,
store: ds_manager,
sm :sm,
enableColumnMove : false,
trackMouseOver : false,
frame : true,
autoExpandColumn : 'remark',
clicksToEdit : 1,
tbar : [btn_modify_manager],
bbar : new Ext.PagingToolbar({
pageSize : 20,
store : ds_manager,
displayInfo : true,
displayMsg : '第 {0} - {1} 条  共 {2} 条',
emptyMsg : "没有记录"
})
});


这里需要注意的是在修改的表单里面 文本框的name名字需要和store里面的fields内的元素是一样的才可以正常加载。因此这样修改的话,在类里面就需要把修改了的值每一个都用request来获得然后封装了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: