利用easyui的行编辑自动增加一行来进行增删有详细注解

jQuery EasyUI 框架提供了创建网页所需的一切,帮助您轻松建立站点。

easyui 是一个基于 jQuery 的框架,集成了各种用户界面插件。

easyui 提供建立现代化的具有交互性的 javascript 应用的必要的功能。

使用 easyui,您不需要写太多 javascript 代码,一般情况下您只需要使用一些 html 标记来定义用户界面。

HTML 网页的完整框架。

easyui 节省了开发产品的时间和规模。

easyui 非常简单,但是功能非常强大。

先给大家展示效果图:

增删

Html代码:


1

2

<table id="dd">

</table>

引入JS文件和CSS样式


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

<script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/jquery-1.4.4.min.js" type="text/javascript"></script>

<script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/jquery.easyui.min.js" type="text/javascript"></script>

<link href="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/themes/default/easyui.css" rel="stylesheet"

type="text/css" />

<link href="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/themes/icon.css" rel="stylesheet"

type="text/css" />

<script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>

<script type="text/javascript">

$(function () {

var datagrid; //定义全局变量datagrid

var editRow = undefined; //定义全局变量:当前编辑的行

datagrid = $("#dd").datagrid({

url: ‘UserCenter.aspx‘, //请求的数据源

iconCls: ‘icon-save‘, //图标

pagination: true, //显示分页

pageSize: 15, //页大小

pageList: [15, 30, 45, 60], //页大小下拉选项此项各value是pageSize的倍数

fit: true, //datagrid自适应宽度

fitColumn: false, //列自适应宽度

striped: true, //行背景交换

nowap: true, //列内容多时自动折至第二行

border: false,

idField: ‘ID‘, //主键

columns: [[//显示的列

{field: ‘ID‘, title: ‘编号‘, width: 100, sortable: true, checkbox: true },

{ field: ‘UserName‘, title: ‘用户名‘, width: 100, sortable: true,

editor: { type: ‘validatebox‘, options: { required: true} }

},

{ field: ‘RealName‘, title: ‘真实名称‘, width: 100,

editor: { type: ‘validatebox‘, options: { required: true} }

},

{ field: ‘Email‘, title: ‘邮箱‘, width: 100,

editor: { type: ‘validatebox‘, options: { required: true} }

}

]],

queryParams: { action: ‘query‘ }, //查询参数

toolbar: [{ text: ‘添加‘, iconCls: ‘icon-add‘, handler: function () {//添加列表的操作按钮添加,修改,删除等

//添加时先判断是否有开启编辑的行,如果有则把开户编辑的那行结束编辑

if (editRow != undefined) {

datagrid.datagrid("endEdit", editRow);

}

//添加时如果没有正在编辑的行,则在datagrid的第一行插入一行

if (editRow == undefined) {

datagrid.datagrid("insertRow", {

index: 0, // index start with 0

row: {

}

});

//将新插入的那一行开户编辑状态

datagrid.datagrid("beginEdit", 0);

//给当前编辑的行赋值

editRow = 0;

}

}

}, ‘-‘,

{ text: ‘删除‘, iconCls: ‘icon-remove‘, handler: function () {

//删除时先获取选择行

var rows = datagrid.datagrid("getSelections");

//选择要删除的行

if (rows.length > 0) {

$.messager.confirm("提示", "你确定要删除吗?", function (r) {

if (r) {

var ids = [];

for (var i = 0; i < rows.length; i++) {

ids.push(rows[i].ID);

}

//将选择到的行存入数组并用,分隔转换成字符串,

//本例只是前台操作没有与数据库进行交互所以此处只是弹出要传入后台的id

alert(ids.join(‘,‘));

}

});

}

else {

$.messager.alert("提示", "请选择要删除的行", "error");

}

}

}, ‘-‘,

{ text: ‘修改‘, iconCls: ‘icon-edit‘, handler: function () {

//修改时要获取选择到的行

var rows = datagrid.datagrid("getSelections");

//如果只选择了一行则可以进行修改,否则不操作

if (rows.length == 1) {

//修改之前先关闭已经开启的编辑行,当调用endEdit该方法时会触发onAfterEdit事件

if (editRow != undefined) {

datagrid.datagrid("endEdit", editRow);

}

//当无编辑行时

if (editRow == undefined) {

//获取到当前选择行的下标

var index = datagrid.datagrid("getRowIndex", rows[0]);

//开启编辑

datagrid.datagrid("beginEdit", index);

//把当前开启编辑的行赋值给全局变量editRow

editRow = index;

//当开启了当前选择行的编辑状态之后,

//应该取消当前列表的所有选择行,要不然双击之后无法再选择其他行进行编辑

datagrid.datagrid("unselectAll");

}

}

}

}, ‘-‘,

{ text: ‘保存‘, iconCls: ‘icon-save‘, handler: function () {

//保存时结束当前编辑的行,自动触发onAfterEdit事件如果要与后台交互可将数据通过Ajax提交后台

datagrid.datagrid("endEdit", editRow);

}

}, ‘-‘,

{ text: ‘取消编辑‘, iconCls: ‘icon-redo‘, handler: function () {

//取消当前编辑行把当前编辑行罢undefined回滚改变的数据,取消选择的行

editRow = undefined;

datagrid.datagrid("rejectChanges");

datagrid.datagrid("unselectAll");

}

}, ‘-‘],

onAfterEdit: function (rowIndex, rowData, changes) {

//endEdit该方法触发此事件

console.info(rowData);

editRow = undefined;

},

onDblClickRow: function (rowIndex, rowData) {

//双击开启编辑行

if (editRow != undefined) {

datagrid.datagrid("endEdit", editRow);

}

if (editRow == undefined) {

datagrid.datagrid("beginEdit", rowIndex);

editRow = rowIndex;

}

}

});

});

</script>

时间: 2024-12-16 07:18:03

利用easyui的行编辑自动增加一行来进行增删有详细注解的相关文章

Jquery easyui开启行编辑模式增删改操作

来源:http://www.cnblogs.com/nyzhai/archive/2013/05/14/3077152.html Jquery easyui开启行编辑模式增删改操作先上图 Html代码: <table id="dd"> </table> 引入JS文件和CSS样式 <script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/jquery-1.4.4.min.js

[转]Jquery easyui开启行编辑模式增删改操作

本文转自:http://www.cnblogs.com/nyzhai/archive/2013/05/14/3077152.html Jquery easyui开启行编辑模式增删改操作先上图 Html代码: <table id="dd"> </table> 引入JS文件和CSS样式 <script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/jquery-1.4.4.min.

市委组织部考核项目——利用EasyUi中可编辑的DataGrid控件对多行数据进行编辑并提交

http://blog.csdn.net/cjr15233661143/article/details/19041165 市委组织部考核项目中需要录入原始数据,拿开发区的数据录入举例说明,见下图,需要给 查询出的单位录入定量成绩和定性成绩,开始使用弹出框的形式逐条进行编辑,后来考虑如果每一条都需要弹出一次弹出框,每一条都需要一次保存的话,用户可能 会不方便,后来发现了easyui中有这么一个好东西,用在这里非常合适——Cell Editing in DataGrid 查询出的结果图 为了控制提交

Jquery easyui开启行编辑_增删改操作及新增就能编辑

下面这个是一个单独的js文件,可以直接在页面引入他就可以用了 主要有三种方式实现编辑模式增删改操作 1.直接双击选中编辑 2.选中行点击修改按钮编辑 3.右键选择相关的操作 可能中间有部分功能没有实现 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!-- 引入自定义的js文件 --> <script type="t

利用easyUI的combobox打造自动提示组件

自动提示是时下一个很流行的功能,比如说百度.谷歌的搜索输入框都使用到了这么一个功能. 由于easyUI的combobox设计师已经考虑到了这个功能,所以只需简单几步我们可以轻松打造自己的自动提示组件. 自动提示有两种模式,一种是本地(local)一种是远程的(remote). local的意思也就是说先将所有的数据都加载到客户端页面,之后仅仅是在这些已加载的数据中去过滤,不会向服务器发出额外的请求 而remote呢,也就是说事先并不加载所有数据,而是等到用户输入关键字之后,再向服务器发出请求,返

EasyUI datagrid 行编辑

一.HTML: <div class="info"> <div class="info_tt"> <span class="info_tt1">明细</span> <span class="pucker2"></span><a class="del" onclick="detailDel()" href=&qu

简单的模拟jQuery easyUI的行编辑

核心思想: 主要是为td增加点击事件,如果点击了,把原来的纯HTML文本,变成可编辑的input表格,并且需要记录原始文本的值,当鼠标失去焦点的时候,把input标签里面的值,替换文td里面的文本的值 核心代码如下: <script type="text/javascript"> $(function () { //找到所有名字的单元格 var name = $("tbody td:even"); //给这些单元格注册鼠标点击事件 name.click(

easyui datagrid 行编辑功能

1 /*单元编辑代码开始 */ 2 $.extend($.fn.datagrid.methods, { 3 editCell : function(jq, param) { 4 return jq.each(function() { 5 var opts = $(this).datagrid('options'); 6 var fields = $(this).datagrid('getColumnFields', true).concat( 7 $(this).datagrid('getCol

easyui行编辑:利用append row添加行,直接在行中编辑,ajax提交保存

今天工作用到了easyui行编辑,在这里总结一下,不会的同学可以看看,顺便吐槽一下,网上的很多博客都是粘贴复制的,内容很乱 ,而且看不懂,不知道这些粘贴复制的怀的是什么心,不但没用,还影响别人搜索. 呼吁大家在写博客的时候认真一些,别只粘贴复制,至少可以自己运行好了贴上自己的代码和一点感想,对别人用处很大的. 好了,正题开始--> 我用的是easyui 1.4 效果如下: 点击添加按钮,在第二行的位置添加新行,点击单元格输入内容,点保存通过ajax提交. 修改则直接点击单元格修改,点保存提交.