extJs显示修改删除

	Ext.onReady(function() {
		var sm = new Ext.grid.CheckboxSelectionModel();
		var rnb = new Ext.grid.RowNumberer();
		var cm = new Ext.grid.ColumnModel( [ rnb, sm, {
			header : '用户编号',
			dataIndex : 'userId',
			width:60,
			sortable : true
		}, {
			header : '用户名',
			dataIndex : 'userName',
			sortable : true
		}, {
			header : '真实姓名',
			dataIndex : 'contactName',
			sortable : true,
			editor : new Ext.form.TextField()
		}, {
			header : '手机',
			dataIndex : 'phone',
			sortable : true,
			editor : new Ext.form.TextField()
		}, {
			header : '电话',
			dataIndex : 'officePhone',
			sortable : true,
			editor : new Ext.form.TextField()
		}, {
			header : '地址',
			dataIndex : 'address',
			sortable : true,
			editor : new Ext.form.TextField()
		}, {
			header : 'email',
			dataIndex : 'email',
			sortable : true,
			editor : new Ext.form.TextField()
		}, {
			header : '用户状态',
			dataIndex : 'status',
			width:60,
			sortable : true,
			editor:new Ext.form.ComboBox({
				transform:"statuslist",
				triggerAction: 'all',
				lazyRender:true
		      })
		}, {
			header : '注册日期',
			dataIndex : 'createDate',
			sortable : true,
			width : 110,
			render : Ext.util.Format.dateRenderer('Y-m-d'),
			editor : new Ext.form.DateField( {format : 'Y-m-d'})
		}, {
			header : '用户类型',
			dataIndex : 'membertype',
			sortable : true,
			editor:new Ext.form.ComboBox({
				transform:"userTypes",
				triggerAction: 'all',
				lazyRender:true
		      })
		} ]);
		var Plant = Ext.data.Record.create([
		    {name: 'userId',type: 'int'},
		    {name: 'userName', type: 'string'},
		    {name: 'contactName', type: 'string'},
		    {name: 'phone', type: 'int'},
		    {name: 'officePhone', type: 'int'},
		    {name: 'address', type: 'string'},
		    {name: 'email',type: 'string'},
		    {name: 'status',type: 'string'},
		    {name: 'createDate',type: 'string'},
		    //{name: 'ip',type: 'string'},
		    //{name: 'lastLoginTime',type: 'string'},
		    {name: 'membertype',type: 'string'}
		]);
		var store = new Ext.data.Store( {
			proxy : new Ext.data.HttpProxy( {
				url : 'user.do?method=query'
			}),
			reader : new Ext.data.JsonReader( {
				total : 'total',
				root : 'root'},
				[ {
				name : 'userId'
			}, {
				name : 'userName'
			}, {
				name : 'contactName'
			}, {
				name : 'phone'
			}, {
				name : 'officePhone'
			}, {
				name : 'address'
			}, {
				name : 'email'
			}, {
				name : 'status'
			}, {
				name : 'createDate'
			}, {
				name : 'membertype'
			} ])
		});
		//{name : 'ip'}, {name : 'lastLoginTime'}, 
		var num = 12;
		store.load( {
			params : {
				start : 0,
				limit : num
			}
		});
		var viewport = new Ext.Viewport( {
			layout : 'border',
			items : [ {
				region : 'north',
				contentEl : 'north-div',
				border : true,
				split : true,
				height : 80,
				maxSize : 120,
				minSize : 50
			}, {
				region : 'south',
				contentEl : 'south-div',
				split : true,
				width : 50,
				height:80,
				maxSize : 120,
				minSize : 50
			}, {
				region : 'center',
				contentEl: 'center-div',
				split : true,
				border : true,
				collapsible : true,
				title : '当前位置 : 学员信息管理 》查看学员',
				maxSize : 120,
				minSize : 50,
				height:500,
				loadMask : {
					msg : '正在加载数据,请稍侯……'
				}
			}, {
				title : '学员信息管理',
				region : 'west',
				contentEl : 'west-div',
				split : true,
				border : true,
				collapsible : true,
				width : 130,
				minSize : 120,
				maxSize : 200
			},
			this.grid=new Ext.grid.EditorGridPanel( {
				renderTo : 'center-div',
				store : store,
				sm : sm,
				autoExpandColumn : 9,
				clicksToEdit : 1,// 鼠标击打次数,1单击,2双击
				cm : cm,
				loadMask : {
					msg : '正在加载数据,请稍侯……'
				},
				viewConfig : {
					forceFit : true
				},
				width : 1150,
				height : 380,
				bbar : new Ext.PagingToolbar( {
					pageSize : num,
					store : store,
					displayInfo : true,
					displayMsg : '显示第{0}到{1}行,一共有{2}条   ',
					emptyMsg : '没有记录'
				}),
				tbar :{
					buttons : [{
					text : '保存修改',
					handler : function() {
						var jsons='';
						var array = new Array();
						array = sm.getSelections();// 被选中的记录
						var updArray=store.getModifiedRecords();// 被修改的记录
						if (updArray.length <= 0) {
							Ext.MessageBox.alert('提示', '没有数据被修改!');
						} else {
							var jsonData="[";
	                         for( modified=0;modified<updArray.length;modified++){
	                             if(updArray[modified]!=null){
	                                 if(updArray[modified].data["userName"]==""){
	                                 	 Ext.MessageBox.alert('错误','不允许有空!');
	                                 	  	return ;
	                                 }else{
	                                 	  jsonData += Ext.util.JSON.encode(updArray[modified].data) + ",";
	                               	 }
	                          	}	
	                    	 }
	                    if(jsonData=="["){
	                         Ext.MessageBox.alert('错误','没有需要修改的数据');
	                             return;
	                     }else{
	                          jsonData = jsonData.substring(0,jsonData.length-1) + "]";
	                     }
	                      Ext.Ajax.request({
	                            url:'user.do?method=update&jsons='+jsonData,method:'POST',
	                            success:function(response){
	                                  Ext.MessageBox.alert('信息',response.responseText,function(){
	                                      store.reload();// 重新从服务器上得到数据。
	                                  });
	                            },
	                            failure:function(response){
	                                   Ext.MessageBox.alert('错误','请与后台服务人员联系');
	                                  }
	                           });  
	                        store.modified=[]; // 清空修改的记录
							grid.view.refresh();
						}
					}
				},{
					text : '删除所选',
					handler : function() {
						var jsons='';
						var array = new Array();
						array = sm.getSelections();// 被选中的记录
						var updArray=store.getModifiedRecords();// 被修改的记录
						if (array.length <= 0) {
							Ext.MessageBox.alert('错误', '没有选择数据!');
						} else {
							Ext.MessageBox.confirm('温馨提示', '您确实要删除所选数据?', function(
									btn) {
								if (btn == 'yes') {
									for ( var i = 0; i < array.length; i++) {
										if (jsons != "") {
											jsons = jsons + ","+ array[i].data["userId"];
										} else {
											jsons = array[i].data["userId"];
										}
									}
									Ext.Ajax.request({url:'user.do?method=delete&jsons='+jsons,method:'POST',
				                        success:function(response){
				                        	Ext.MessageBox.alert('信息',response.responseText,function(){
				                        		store.reload();// 重新从服务器上得到数据。
				                                for(var i=0;i<array.length;i++){
				                                     store.remove(array[i]);
				                                     if(array[i].dirty){
				                                         for(var j=0;j< updArray.length;j++){
				                                         	if(updArray[j]==array[i]){
				                                         		 store.modified[j]=null;
				                                         	}
				                                         }
				                                     }
				                                 }	    
	                                         }); 
	                                   },
	                                    failure:function(response){
			                               Ext.MessageBox.alert('错误','请与后台服务人员联系');
	                                       }         
		                             	 });
								}
							})
							store.reload();
							grid.view.refresh();
						}
					}
				}]
				}
			})]
		});
		grid.on('afteredit', function(e) {
			// 获取被修改的列
			var updatelie = e.field;
			var r = e.record;
			if (updatelie == "phone") {
				if (isNaN(e.value) == true) {// isNaN不是数字,isEmpty为空
					Ext.MessageBox.alert('信息', '手机号码只能0-9的字符!');
					r.set("phone", "");
					return;
				}
				if (e.value.length!=11 && e.value!=null) {// isNaN不是数字,isEmpty为空
					Ext.MessageBox.alert('信息', '手机号码只能是11位!');
					return;
				}
			}
		})
	});
	

//			var flag=0;
//			var totalcount=ds.getCount();
//				for(var j=0;j<totalcount;j++){
//					if(ds.getAt(j).data["teachernumber"]==e.value){
//						flag++;	
//					}
//				}
//				// alert(flag);
//				if(flag>1){
//					Ext.MessageBox.alert('信息',"工号:"+e.value+"重复");
//					r.set("teachernumber","");
//				}else{
//					Ext.Ajax.request({
//		            url: 'http://localhost:8989/stuManager/teacher.do?method=checkTeacherNo&teachernumber='+e.value,
//		           	method:'POST',
//		           	success:function(response){
//		           		   	if(response.responseText=="false"){
//		           		   		 Ext.MessageBox.alert('信息',"工号:"+e.value+"重复");
//		           		   		 r.set("teachernumber","");
//		           		   	}else{
//		           		   		if(response.responseText==null){
//		           		   		 Ext.MessageBox.alert('信息',"请与后台服务员联系");
//		           		   		}
//		           		   	}
//                      }
//		          });	
//		        }
//		}
//	}else{
//		if(updatelie=="teacherborndate"){
//			if(isEmpty(e.value)){
//				Ext.MessageBox.alert('信息','出生日期不能为空,默认为当前时间');
//				r.set("teacherborndate",new Date().clearTime());
//			}
//			
//		}
//	}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值