//新增数据
function add() {

if (Index == undefined) {
  row = { move_date: '', start_time: '', end_time: '', start_place: '', arrival_place: '', move_vehicle: '' };  
  $('#dg').datagrid('appendRow', row);
  Index = $('#dg').datagrid('getRows').length - 1;
  $('#dg').datagrid('selectRow', Index).datagrid('beginEdit', Index);
}//新建行结束

//回车时结束编辑,并开启新一行放在datagrid的onBeginEdit事件里

onBeginEdit: function (Index, row) {

  var stayPlace = $("#dg_StaySchedule").datagrid('getEditor', { index: Index, field: 'stay_place' });
  var stayAmount = $("#dg_StaySchedule").datagrid('getEditor', { index: Index, field: 'stay_amount' });
  $(stayPlace.target).textbox('options').onChange = function (newValue, lodValue) {
  //开启等待
  MaskUtil.mask();
  $.ajax({//根据条件值获取数据
    type: "POST",
    url: "url?stay_place=" + newValue + "&emp_title=" + $('#emp_title').textbox('getValue'),
    dataType: 'json',
    success: function (msg) {
      //关闭等待
      MaskUtil.unmask();
      stayData = 0;
      stayData = JSON.parse(msg.stay);
      $(stayAmount.target).textbox('setValue', stayData);//查询的数据给列赋值
      }
    })
  }
  //回车时结束编辑,并开启新一行
  $('.datagrid-editable .textbox,.datagrid-editable .datagrid-editable-input,.datagrid-editable .textbox-text').bind('keypress', function (e) {
    var code = e.keyCode || e.which;
    f (code == 13) {
      //保存更改 第一次编辑可能不会改变值
      var b = $('#dg').datagrid('validateRow', Index);
      if (b == false) {
        $('#dg').datagrid('selectRow', Index).datagrid('beginEdit', Index);
        return;
        }
    $('#dg').datagrid('acceptChanges');
    $('#dg').datagrid('endEdit', Index);

    if (stayData > 0 && row.stay_amount > stayData) {
      $.messager.confirm('操作提示', "提交的住宿费已超标准费用,标准住宿费用是:" + stayData + "元,是否继续?", function (r) {
        if (r) {
          $('#dg').datagrid('unselectRow', Index);
          Index= undefined;          
          add();//新增方法
          }
      else {
        $('#dg').datagrid('beginEdit', Index);
        }
      })
    } else {

      Index= undefined;      
      add();//新增方法
      }
    }
  });
}

使用EasyUI的Datagrid的Editor进行行编辑,Enter回车结束编辑,并开启新的一行。的更多相关文章

  1. Easyui的datagrid的editor(行编辑器)如何扩展datetimebox类型

    在easyui的datagrid扩展方法中添加这样的时间日期(datetimebox)代码块 放在   $.extend($.fn.datagrid.defaults.editors,{datetim ...

  2. Easyui 设置datagrid 进入编辑状态,保存结束编辑

    在datagrid中如何实现让一行进入编辑状态,修改数据后,保存信息呢? //点击列表变成文本框,进入可编辑状态 $(function () { var doc = $(document), tabl ...

  3. 学习日记6、easyui datagrid 新增一行,编辑行,结束编辑和删除行操作记录

    1.新增一行并进入编辑状态 var index=$('#Numbers').datagrid('appendRow', { CardInformation: '开户行', CardNumber: '银 ...

  4. [转]jQuery EasyUI自定义DataGrid的Editor

    原文地址:http://www.jeasyuicn.com/post-3.html 官网datagrid的api:http://jquery-easyui.wikidot.com/document:d ...

  5. easyui datagrid的editor编辑器如何为validatebox控件添加改变事件

    项目中需要为行编辑器Editor的某个列的文本框添加改变事件 需求:新增行时,为用户名输入特殊字符进行验证,不允许保存用户数据 html页面 <table id="gridlist&q ...

  6. easyUI的datagrid控件日期列不能正确显示Json格式数据的解决方案

    EasyUI是一套比较轻巧易用的Jquery控件,在使用过程中遇到一个问题,它的列表控件——datagrid, 在显示日期列的时候,由于后台返回给页面的数据是Json格式的,其中的日期字段,在后台是正 ...

  7. easyUI中datagrid的使用

    easyUI中的datagrid数据表格经常被用到,结合项目中的使用情况,总结一下datagrid使用中需要注意的一些问题.使用datagrid展示数据,需要在html.css.js中都要编写代码,h ...

  8. easyui,datagrid表格,行内可编辑

    最近用到easyui,需要表格内编辑,但是我同一个页面有多个表格,把官方的代码修改了一下,如下: HTML代码 <table id="dg" class="easy ...

  9. EasyUI效果--DataGrid的编辑效果

    DataGrid的编辑效果是我目前使用的easyUI的第三个效果,相对于前两个,这个算是比较复杂点了.    运行起来的效果,大概就是这样,任意点击某行,然后该行变为可以编辑的,失去焦点之后,该行恢复 ...

随机推荐

  1. Linux 下安装 tomcat

    前提:已经安装配置好了 JDK 1.下载二进制文件 wget http://us.mirrors.quenda.co/apache/tomcat/tomcat-9/v9.0.19/bin/apache ...

  2. TabLayout占不满屏幕所有宽度

    <android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:layout_wi ...

  3. linux 之网络命令

    write 给用户发消息,用户必须在线,以ctrl+d保存结束 语法: write 用户 wall发广播信息(write all)  语法:wall 信息 mail 查看发送电子邮件 发送语法 : m ...

  4. Java开发中的23种设计模式(转)

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  5. 您可能不知道的CSS元素隐藏“失效”以其妙用

    您可能不知道的CSS元素隐藏“失效”以其妙用 by zhangxinxu from http://www.zhangxinxu.com地址:http://www.zhangxinxu.com/word ...

  6. 【转】JRXlsExporter.setParameter常用参数说明

    net.sf.jasperreports.engine.JRExporterParameter. JASPER_PRINT 这个参数是net.sf.jasperreports.engine.Jaspe ...

  7. vue 配置了全局的http拦截器,单独某个组件不需要这个拦截器,如何设置

    之前写过关于全局配置http拦截器的随笔,现在有个需求,在微信支付时,生成二维码,页面显示一个遮罩层,二维码页面需要每两秒请求一次接口,若返回结果为已支付,则进行页面跳转,但因为全局http中load ...

  8. vue父子组件实现v-model

    话不多说,直接上代码 <div id="app"> <price-input v-bind:value="price" v-on:input= ...

  9. 20164319 刘蕴哲 Exp4:恶意代码分析

    [实验内容] ①系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件,综述一下分析结果.目标就是找出所有连网的程序,连了哪里,大约干了 ...

  10. 把Excel作为数据库,读到DataTable中,Excel科学计数法数字转字符串

    需要引用:using System.Data.OleDb; /// <summary> /// 获取Excel数据,包含所有sheet /// </summary> /// & ...