java_easyui体系之DataGrid(4)(三)

2014-11-24 03:31:36 · 作者: · 浏览: 3
'); } }); }, //双击修改行 onDblClickRow : function(rowIndex, rowData){ changeUpdateEditor(); $('#datagrid').datagrid('unselectAll'); if(editRow != undefined){ $('#datagrid').datagrid('endEdit', editRow); editRow = undefined; } if(editRow == undefined){ $('#datagrid').datagrid('beginEdit',rowIndex); editRow = rowIndex; } }, //显示右键菜单、并且设置显示位置就是触发鼠标右击的位置。 onRowContextMenu : function(e, rowIndex, rowData){ //1、阻止原来浏览器右键事件 e.preventDefault(); $(this).datagrid('unselectAll'); $(this).datagrid('selectRow', rowIndex); //显示自定义右键菜单 $('#mm').menu('show', { //动态显示右键菜单位置 left: e.pageX, top: e.pageY }); } }); }); /* * 右键菜单功能 */ //添加记录 function addUser(){ privateAddUser(); } //修改记录 function updateUser(){ privateUpdateUser(); } //删除记录 function delUsers(){ privateDelUsers(); } function privateDelUsers(){ var rows = $('#datagrid').datagrid('getSelections'); if(rows.length > 0){ $.messager.confirm('请确认','您确定要删除当前选择的'+rows.length+'项吗?', function(option){ if(option){ //一般将id的一个集合传到后台删除 var ids = []; for(var i = 0; i< rows.length; i++){ ids.push(rows[i].id); } console.info(ids.join(',')); $.ajax({ url : 'login_delUsers.action', data : { ids : ids.join(',') }, dataType : 'json', success : function(r){ $('#datagrid').datagrid('load'); $('#datagrid').datagrid('unselectAll'); $.messager.show({ title : '提示', msg : '删除成功' }); } }); } }); }else{ $.messager.alert('提示', '请选择要删除的记录', 'error'); } } function privateUpdateUser(){ var rows = $('#datagrid').datagrid('getSelections'); if(rows.length ==1){ changeUpdateEditor(); if(editRow != undefined){ $('#datagrid').datagrid('endEdit', editRow); editRow = undefined; } if(editRow == undefined){ var rowIndex = $('#datagrid').datagrid('getRowIndex',rows[0]); $('#datagrid').datagrid('beginEdit',rowIndex); editRow = rowIndex; $('#datagrid').datagrid('unselectAll'); } }else if( rows.length == 0){ $.messager.alert('提示', '请选择一条修改记录!','info'); }else if(rows.length >= 1){ $.messager.alert('提示', '只能选择一条修改记录!','info'); } } function privateAddUser(){ if(editRow != undefined){ $('#datagrid').datagrid('endEdit', editRow); } if(editRow == undefined){ //新增的时候不让用户选择创建时间、应该用后台自动生成的当前的时间 changeAddEditor(); $('#datagrid').datagrid('insertRow', { index : 0, row : { userName:'请输入名称', passWord:'请输入密码' } }); editRow = 0; $('#datagrid').datagrid('beginEdit',0); } } //查询数据 function show() { $('#datagrid').datagrid('load', serializeObject($('#searchForm'))); } //清除查询条件、返回初始数据展示状态 function clean() { $('#datagrid').datagrid('load', {}); $('#searchForm').find('input').val(''); } //添加行时改变editor function changeAddEditor(){ $('#datagrid').datagrid('removeEditor', ['updateTime','createTime']); $('#datagrid').datagrid('addEditor', { field : 'passWord', editor : { type:'validatebox', options:{ required: true, } } }); } //修改行是改变editor function changeUpdateEditor(){ $('#datagrid').datagrid('removeEditor','passWord'); $('#datagrid').datagrid('addEditor', [{ field : 'createTime', editor : { type:'datetimebox',//扩展的用于选择具体时间的类型 options:{ required: true, } } },{ field : 'updateTime', editor : { type:'datetimebox',//扩展的用于选择具体时间的类型 options:{ required: true, } } }]); }
用户名
创建时间
修改时间 查询 清空
<%-- 通过指定class的方式、构造右键菜单--%>

b) chyUtils.js:与前面一样、不再贴了。


2、后台代码


后台可以自己实现、不再一一贴出来、这里就贴个关键的action、一个处理返回数据的Json、一个UserDTO、 源码有时间再上传到csdn上。

a) LoginAction:


	private UserService userService;
	private int page;
	private int rows;
	private String sort;
	private String order;
	
	private String username;
	private String password;
	private int id;
	private String userName;
	private String passWord;
	private String createTime;
	private String updateTime;
	private String ids;
	
	
	public String login() throws IOException{
		String result = null;
		
		if("admin".equals(username) && "123".equals(password)){
			result = "success";
		}else{
			result = "faile";
		}
		
		pwObj(result);
		return null;
	}
	
	public String regist() throws IOException{
		pwObj("success");
		return null;
	}

	
	/**
	 * 添加用户
	 */
	public String addUser() throws JsonGenerationExcepti