dategrid快速录入一行数据的一波操作

  1 <!DOCTYPE html>
  2 <html>
  3
  4     <head>
  5         <meta charset="UTF-8">
  6         <title>表格的行数据录入效果的实现</title>
  7         <script type="text/javascript" src="../js/jquery-1.8.3.js"></script>
  8         <script type="text/javascript" src="../js/easyui/locale/easyui-lang-zh_CN.js"></script>
  9         <script type="text/javascript" src="../js/easyui/jquery.easyui.min.js"></script>
 10         <script type="text/javascript" src="../js/ztree/jquery.ztree.all-3.5.js"></script>
 11         <link rel="stylesheet" href="../js/easyui/themes/icon.css" />
 12         <link rel="stylesheet" href="../js/easyui/themes/default/easyui.css" />
 13         <link rel="stylesheet" href="../js/ztree/zTreeStyle.css" />
 14         <script type="text/javascript">
 15             $(function() {
 16                 $("#tabs").datagrid({
 17                     columns: [
 18                         [{
 19                             field: ‘id‘,
 20                             title: ‘编号‘,
 21                             width: ‘200‘,
 22                             editor: {
 23                                 type: ‘validatebox‘,
 24                                 options: {
 25                                     required: true
 26                                 }
 27                             }
 28                         }, {
 29                             field: ‘name‘,
 30                             title: ‘商品名称‘,
 31                             width: ‘200‘,
 32                             editor: {
 33                                 type: ‘validatebox‘,
 34                                 options: {
 35                                     required: true
 36                                 }
 37                             }
 38                         }, {
 39                             field: ‘price‘,
 40                             title: ‘价格‘,
 41                             width: ‘200‘,
 42                             editor: {
 43                                 type: ‘validatebox‘,
 44                                 options: {
 45                                     required: true
 46                                 }
 47                             }
 48                         }]
 49                     ],
 50                     toolbar: [{
 51                         id: ‘add‘,
 52                         text: ‘添加一行数据‘,
 53                         iconCls: ‘icon-add‘,
 54                         handler: function() {
 55                             $("#tabs").datagrid(‘appendRow‘, {
 56                                 id: 4,
 57                                 name: ‘可可‘,
 58                                 price: 9000
 59                             });
 60                         }
 61                     }, {
 62                         id: ‘save‘,
 63                         text: ‘保存修改‘,
 64                         iconCls: ‘icon-save‘,
 65                         handler: function() {
 66                             $("#tabs").datagrid(‘endEdit‘, currentEditIndex);
 67                             currentEditIndex = undefined;
 68                         }
 69                     }, {
 70                         id: ‘edit‘,
 71                         text: ‘修改整行‘,
 72                         iconCls: ‘icon-edit‘,
 73                         handler: function() {
 74                             if(currentEditIndex != undefined) {
 75                                 //正在编辑行数据
 76                                 return;
 77                             }
 78                             var row = $("#tabs").datagrid(‘getSelected‘);
 79                             var index = $("#tabs").datagrid(‘getRowIndex‘, row);
 80                             $("#tabs").datagrid(‘beginEdit‘, index);
 81                             //获取到全局变量
 82                             currentEditIndex = index;
 83                         }
 84                     }, {
 85                         id: ‘cancel‘,
 86                         text: ‘撤销修改‘,
 87                         iconCls: ‘icon-cancel‘,
 88                         handler: function() {
 89                             $("#tabs").datagrid(‘cancelEdit‘, currentEditIndex);
 90                             currentEditIndex = undefined;
 91                         }
 92                     }, {
 93                         id: ‘delete‘,
 94                         text: ‘删除整行‘,
 95                         iconCls: ‘icon-no‘,
 96                         handler: function() {
 97                             var row = $("#tabs").datagrid(‘getSelected‘);
 98                             var index = $("#tabs").datagrid(‘getRowIndex‘, row);
 99                             $("#tabs").datagrid(‘deleteRow‘, index);
100                         }
101                     }, {
102                         id: ‘add‘,
103                         text: ‘添加第一行的数据‘,
104                         iconCls: ‘icon-add‘,
105                         handler: function() {
106                             $("#tabs").datagrid(‘insertRow‘, {
107                                 index: 0, // 索引从0开始
108                                 row: {}
109                             });
110                             //处于开始编辑的状态
111                             $("#tabs").datagrid(‘beginEdit‘,0);
112                             currentEditIndex = 0;
113                         }
114                     }],
115                     onBeforeEdit:function(rowIndex, rowData){
116                         //在修改数据之前进行的操作
117                     },
118                     onAfterEdit:function(rowIndex, rowData, changes){
119                         //在保存了修改的内容之后的事件
120                         currentEditIndex = undefined;
121                     },
122                     onCancelEdit:function(rowIndex, rowData){
123                         //在撤销修改之后的事件
124                         currentEditIndex = undefined;
125                     },
126                     url: ‘product.json‘,
127                     singleSelect: true
128                 });
129                 //声明全局变量
130                 var currentEditIndex;
131             });
132         </script>
133     </head>
134
135     <body>
136         <table id="tabs" width="400px">
137
138         </table>
139     </body>
140
141 </html>

附录:

product.json的数据格式展示:
 1 {
 2     "total": 100,
 3     "rows": [
 4         {
 5             "id": 1,
 6             "name": "冰箱",
 7             "price": 1000
 8         }, {
 9             "id": 2,
10             "name": "电视",
11             "price": 2000
12         }, {
13             "id": 3,
14             "name": "笔记本",
15             "price": 4000
16         }
17     ]
18 }

原文地址:https://www.cnblogs.com/yshang/p/8119476.html

时间: 2024-10-07 07:47:30

dategrid快速录入一行数据的一波操作的相关文章

BOS项目 第6天(业务受理、自动分单、工作单快速录入、datagrid行编辑)

BOS项目笔记 第6天 今天内容安排: 1.业务受理环节分析 2.创建业务受理环节对应的数据表(业务通知单.工单.工作单) 3.实现业务受理.自动分单 4.datagrid的编辑功能 5.基于datagrid编辑功能实现工作单快速录入功能 6.演示权限控制demo 1. 业务受理分析 受理环节,是宅急送业务的开始,作为服务前端,客户通过电话.网络等多种方式进行委托,业务受理员通过与客户交流,获取客户的服务需求和具体委托信息,将服务指令输入我司服务系统. 客户通过打电话的方式进行物流委托,一个客户

Oracle快速清除表数据

Oracle快速清除表数据 一:简介 删除表数据一般常用的有三种命令.truncate.delete.drop.但是他们的执行方式.效率和结果各有不同.比如删除500W记录级别的数据时.三者之间有很大的不同. 二:truncate delete drop 三者都用可以用于清除表数据.其相似与不同之处如下 相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 不同点: 1

使用MySQL Migration Toolkit快速将Oracle数据导入MySQL[转]

使用MySQL Migration Toolkit快速将Oracle数据导入MySQL上来先说点废话本人最近在学习一些数据库方面的知识,之前接触过Oracle和MySQL,最近又很流行MongoDB非关系型数据库,所以干脆一起研究一下,对比学习中找不同,首先说一下本人使用的数据库版本和可视化工具Oracle10G—PL/SQL Developer9MySQL5.5.29—MySQL Workbench6.0MongoDB2.4.9(32bit最大2G)—Robomongo0.8.4为了保持数据的

使用MySQLMigrationToolkit快速将Oracle数据导入MySQL

使用MySQL Migration Toolkit快速将Oracle数据导入MySQL 上来先说点废话 本人最近在学习一些数据库方面的知识,之前接触过Oracle和MySQL,最近又很流行MongoDB非关系型数据库,所以干脆一起研究一下,对比学习中找不同,首先说一下本人使用的数据库版本和可视化工具 Oracle10G—PL/SQL Developer9 MySQL5.5.29—MySQL Workbench6.0 MongoDB2.4.9(32bit最大2G)—Robomongo0.8.4 为

Eclipse用法和技巧十二:快速复制一行

写代码的总有那么个时候需要Ctrl+c,Ctrl+v,在eclipse中如果遇到需要快速在一行代码的上下复制一行的话,有很方便的快捷键可以使用.将光标放到某一行,按住Ctrl+Alt+Down,即可以在下面快速复制一行,按住Ctrl+Alt+Up,即可以在上面快速复制一行.        这里有一点需要注意:intel的显示器,其显示方向的快捷键也是Ctrl+Alt+方向键,而且其响应的优先级比较高.这个时候你需要找到显示器设置的地方,去关闭快捷键响应.如果不好找的话,也可以修改eclipse的

快速传输大数据(tar+lz4+pv)

快速传输大数据(tar+lz4+pv) 如果用传统SCP远程拷贝,速度是比较慢的.现在采用lz4压缩传输.LZ4是一个非常快的无损压缩算法,压缩速度在单核300MB/S,可扩展支持多核CPU.它还具有一个非常快速的解码器,速度单核可达到和超越1GB/S.通常能够达到多核系统上的RAM速度限制. 你PV 全命为Pipe Viewer,利用它我们可以查看到命令执行的进度. 下面介绍下lz4和pv的安装,下载软件: 下载pv-1.1.4.tar.gz wget http://sourceforge.j

WPF 4.0 DatePicker 快速录入

WPF 4.0的DatePicker在通过键盘录入日期的时候是非常让人郁闷的.必须按照日期的格式来完整输入例如,比如输入“2010/10/10”才能识别.而实际上在一些要求快速录入的场合,用户更希望直接敲20101010就行了.遗憾的是,DatePicker没有一个属性可以设置说录入的格式是yyyyMMdd这种的. 实际上,仔细看一下DatePicker控件,它有一个DateValidationError事件,当输入的文本无法识别为日期时,就会触发该事件.我们可以利用这个事件来做一些事情. 为了

jquery动态添加删除一行数据

<html> <head> <title>添加.删除一行</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="../js/jquery-1.9.1.js"></script>

MyBatis处理一行数据-MyBatis使用sum语句报错-MyBatis字段映射-遁地龙卷风

(-1)写在前面 我用的是MyBatis 3.2.4 (0) 编程轶事 select sum(value) ,sum(value2)  from integral_list where  MemberId = #{0} and operate = 1 and  Year(AddTime) = #{1} and ChannelType = #{2} and ChannelCode = #{3} 我用的sqlyoug显示的的字段名分别是sum(value) .sum(value2) 我在xml文件中