Extjs4中grid的增删改操作

Ext.define('JCY.app.controller.UserController',{
	extend:'Ext.app.Controller',
	alias:'widget.userController',
	init:function(){
		this.control({
			'gridView':{beforerender:this.beforerender}
		});
	},
	beforerender:function(comment,obj){
		var store = comment.getStore();//得到grid的store
		var selModel = comment.getSelectionModel();//得到选择的model
		/**
		 * 添加
		 */
		comment.down('button[id=add]').on('click',function(){
			var addUser=Ext.create('JCY.app.view.AddUserForm').show();
			var form=addUser.down('form');//获取表单
			var model=store.model;//获取model
			form.down('button').on('click',function(){
				form.submit({
					url:'/Extjs4/gridAction!saveUser.action',
					method:'post',
					success:function(form,action)
					{
						var num=form.findField('num').getValue();//获取表单里面的值
						var name=form.findField('name').getValue();
						var email=form.findField('email').getValue();
//						var data=action.response.responseText;
//						var json=eval("("+data+")");
						addUser.close();
						var m=new model(
								{num:num,name:name,email:email});
						store.add(m);//默认加在后面
					}
				});
			});
				
		});
		/**
		 * 修改
		 * 要先获取model, 再新建带数据的这个model
		 * 
		 */
		comment.down('button[id=edit]').on('click',function(){
			var record=selModel.getSelection();//得到选择的数据
			if(record.length==1)
			{
				var editUser=Ext.create('JCY.app.view.AddUserForm');
				editUser.setTitle('修改用户信息');
				editUser.setIconCls('table_edit');
				editUser.down('form').loadRecord(record[0]);//装载信息
				var text=editUser.down('form').down('textfield');
				text.readOnly=true;
				editUser.show();
				var form=editUser.down('form');
				editUser.down('button').on('click',function(){
					form.submit({
						url:'/Extjs4/gridAction!editUser.action',
						method:'post',
						success:function(form,action){
							var num=form.findField('num').getValue();//获取表单里面的值
							var name=form.findField('name').getValue();
							var email=form.findField('email').getValue();
							editUser.close();
							var model=store.model;//获取model
							var m=new model(
									{num:num,name:name,email:email});
							store.add(m);//默认加在后面
//							store.insert(0,m);//第一个是插入的位置
						}
					});
				});
			}
			else
			{
				Ext.Msg.alert("提示", "请选择一条数据!").setIcon("ext-mb-info");
			}
		});
		/**
		 * 删除
		 */
		comment.down('button[id=del]').on('click',function(){
			if(selModel.hasSelection())
			{
				var selected=selModel.getSelection();
				var ids=[];
				Ext.each(selected,function(item){
					ids.push(item.data['num']);
//					alert(item.get('num'));
				});
				Ext.Msg.confirm('提示','你确定要删除吗',function(b){
					if(b='yes')
					{
						Ext.Ajax.request({
							url:'/Extjs4/gridAction!delUser.action',
							params:{ids:ids},
							method:'post',
							success:function(response){
								Ext.Array.each(selected,function(record){
									store.remove(record);//删除grid中的数据
								});
							}
						});
					}
					
				});
			}
			else {
			Ext.Msg.alert("提示", "你还没有选择要修改的数据!").setIcon(
					"ext-mb-info").setWidth(200);
			}
		});
	},
	models:['JCY.app.model.GridModel'],
	stores:['JCY.app.store.GridStore'],
	views:['JCY.app.view.GridView','JCY.app.view.GridView2','JCY.app.view.AddUserForm']
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值