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