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

来源:互联网 发布:linux vi 到文件底部 编辑:程序博客网 时间:2024/06/05 14:36
DataGrid开启行编辑模式增删改操作

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" 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>
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 刚拿c1驾照扣6分怎么办 别人开我车扣12分怎么办 办健康证大便拉不出来怎么办 欠信用卡钱被网上通缉抓到后怎么办 上海房子卖了户口没地方迁怎么办 没有户口本在北京身份证丢了怎么办 武汉科目四考试居住证过期了怎么办 农行卡密码输错3次怎么办 驾照罚款缴纳了网上没消怎么办 外地驾驶证分数扣12分了怎么办 有生产日期的赠品在超市过期怎么办 6年免检车辆逾期未年检怎么办 行驶证检验有效期过期2年怎么办 骑摩托车忘带驾驶证和行驶证怎么办 驾驶证逾期未审验怎么办有什么后果 车祸至人腿部骨折沒钱偿还的怎么办 我有c4驾驶证想办c3怎么办 驾驶证和行驶证被交警扣了怎么办 行驶证被交警弄丢了怎么办 没带行驶证让警察发现怎么办 首尔转机换票换乘怎么办过境签证 驾驶证约考帐号与登密码丢失怎么办 考驾照的时候预约密码忘了怎么办 考驾照的预约密码忘了怎么办 摩托车不能挂档不能摘挡了怎么办 身份证丢失了派出所不给挂失怎么办 快递员在中午还送货夏天怎么办啊 驾照一个记分周期扣满12分怎么办 佛山南海车管所怎么办替人消分流程 福州快处中心几流程要怎么办 被对方追尾了对方只有交强险怎么办 摩托车行驶证年检过期一年半怎么办 户口迁到杭州了身份证掉了怎么办 户口已迁至外面要补办结婚证怎么办 汽车年检时间过了1个月怎么办 户口在老家在北京工作怎么办招工 报考驾照时手机号留错了怎么办 合肥驾照换证体检没过怎么办 驾驶证记分周期到了违章未消怎么办 驾照被扣科目一过期没考怎么办 驾驶证暂扣过了换证日期怎么办?