ExtJs删除表格记录.rowcontextmenu

	var id = 0;//在外面声明个全局变量id
	Ext.onReady(function(){
		var studentRecord = new Ext.data.Record.create([
			{name:'id',type:'int'},
			{name:'sid',type:'int'},
			{name:'username',type:'string'},
			{name:'gender',type:'string'}
		]);
		
		var columns = new Ext.grid.ColumnModel([
			{header:'学号',dataIndex:'sid',sortable:true},
			{header:'姓名',dataIndex:'username'},
			{header:'性别',dataIndex:'gender',sortable:true}
		]);
		
		var grid = new Ext.grid.GridPanel({
			title:'学生信息管理',
			loadMask:true,
			store:store,
			cm:columns,
			autoHeight:true,
			sm:new Ext.grid.RowSelectionModel({singleSelect:true}),
			viewConfig:{
				forceFit:true,
				columnsText:'所有列',
				sortAscText:'小到大排序',
				sortDescText:'大到小排序'
			},
			bbar:new Ext.PagingToolbar({
				pageSize:15,
				store:store,
				displayInfo:true,
				displayMsg:'显示第 {0} - {1} 条记录,共 {2} 条',
				emptyMsg:'没有记录!'
			})
		});
		
		//重点!
		grid.on('rowcontextmenu',function(grid,rowIndex,e){//给表格添加一个 行上的右键点击事件
			e.preventDefault();//取消默认的浏览器右键事件
			grid.getSelectionModel().selectRow(rowIndex);//将点中的那行选中
			contextmenu.showAt(e.getXY());//在选中的那行显示按钮
			var record = grid.getStore().getAt(rowIndex);//获取选中行的数据集
			var id = record.get('id');//再通过数据集获取id
			setId(id);//将获取的Id赋值给全局变量
		});
		function setId(id){
			this.id = id;
		}
		
		var contextmenu = new Ext.menu.Menu({
			id:'deleteMenu',
			items:[{
				text:'删除',
				handler:function(){//删除事件
					Ext.Ajax.request({
						url:'crud!delete.action',
						params:{'student.id':this.id},//action只要提供Student的get()/set()方法就ok了
						success:function(response,options){
							...
						},
						failure:function(response,options){
							...
						}
					});
				}
			}]
		});
	});


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭