jQuery EasyUI 数据网格 - 启用行内编辑

  可编辑的功能是最近添加到数据网格(datagrid)的。它可以使用户添加一个新行到数据网格(datagrid)。用户也可以更新一个或多个行。

  本教程向您展示如何创建一个数据网格(datagrid)和内联编辑器。

  创建数据网格(DataGrid)

  $(function(){

  $('#tt').datagrid({

  title:'Editable DataGrid',

  iconCls:'icon-edit',

  width:660,

  height:250,

  singleSelect:true,

  idField:'itemid',

  url:'datagrid_data.json',

  columns:[[

  {field:'itemid',title:'Item ID',width:60},

  {field:'productid',title:'Product',width:100,

  formatter:function(value){

  for(var i=0; i<products.length; p="" i++){<="">

  if (products[i].productid == value) return products[i].name;

  }

  return value;

  },

  editor:{

  type:'combobox',

  options:{

  valueField:'productid',

  textField:'name',

  data:products,

  required:true

  }

  }

  },

  {field:'listprice',title:'List Price',width:80,align:'right',editor:{type:'numberbox',options:{precision:1}}},

  {field:'unitcost',title:'Unit Cost',width:80,align:'right',editor:'numberbox'},

  {field:'attr1',title:'Attribute',width:150,editor:'text'},

  {field:'status',title:'Status',width:50,align:'center',

  editor:{

  type:'checkbox',

  options:{

  on: 'P',

  off: ''

  }

  }

  },

  {field:'action',title:'Action',width:70,align:'center',

  formatter:function(value,row,index){

  if (row.editing){

  var s = 'Save ';

  var c = 'Cancel';

  return s+c;

  } else {

  var e = 'Edit ';

  var d = 'Delete';

  return e+d;

  }

  }

  }

  ]],

  onBeforeEdit:function(index,row){

  row.editing = true;

  updateActions(index);

  },

  onAfterEdit:function(index,row){

  row.editing = false;

  updateActions(index);

  },

  onCancelEdit:function(index,row){

  row.editing = false;

  updateActions(index);

  }

  });

  });

  function updateActions(index){

  $('#tt').datagrid('updateRow',{

  index: index,

  row:{}

  });

  }

  为了启用数据网格行内编辑,您应该添加一个 editor 属性到列中。编辑器(editor)会告诉数据网格(datagrid)如何编辑字段及如何保存字段值。正如您所看到的,我们定义的三个编辑器(editor):text、combobox 和 checkbox。

  function getRowIndex(target){

  var tr = $(target).closest('tr.datagrid-row');

  return parseInt(tr.attr('datagrid-row-index'));

  }

  function editrow(target){

  $('#tt').datagrid('beginEdit', getRowIndex(target));

  }

  function deleterow(target){

  $.messager.confirm('Confirm','Are you sure?',function(r){

  if (r){

  $('#tt').datagrid('deleteRow', getRowIndex(target));

  }

  });

  }

  function saverow(target){

  $('#tt').datagrid('endEdit', getRowIndex(target));

  }

  function cancelrow(target){

  $('#tt').datagrid('cancelEdit', getRowIndex(target));

  }

  下载 jQuery EasyUI 实例

  jeasyui-datagrid-datagrid12.zip

  本文转载自:w3cschool(编辑:雷林鹏 来源:网络 侵删)

雷林鹏分享:jQuery EasyUI 数据网格 - 启用行内编辑的更多相关文章

  1. jQuery EasyUI 数据网格 - 启用行内编辑(转自http://www.runoob.com/jeasyui/jeasyui-datagrid-datagrid12.html)

    可编辑的功能是最近添加到数据网格(datagrid)的.它可以使用户添加一个新行到数据网格(datagrid).用户也可以更新一个或多个行.本教程向您展示如何创建一个数据网格(datagrid)和内联 ...

  2. 雷林鹏分享:jQuery EasyUI 数据网格 - 扩展行显示细节

    数据网格(datagrid)可以改变它的视图(view)来显示不同的效果.使用详细视图,数据网格(datagrid)可以在数据行的左边显示展开按钮("+" 或者 "-&q ...

  3. 雷林鹏分享:jQuery EasyUI 数据网格 - 设置冻结列

    jQuery EasyUI 数据网格 - 设置冻结列 本实例演示如何冻结一些列,当用户在网格上移动水平滚动条时,冻结列不能滚动到视图的外部. 为了冻结列,您需要定义 frozenColumns 属性. ...

  4. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建复杂工具栏

    jQuery EasyUI 数据网格 - 创建复杂工具栏 数据网格(datagrid)的工具栏(toolbar)可以包含按钮及其他组件. 您可以通个一个已存在的 DIV 标签来简单地定义工具栏布局,该 ...

  5. 雷林鹏分享:jQuery EasyUI 数据网格 - 动态改变列

    jQuery EasyUI 数据网格 - 动态改变列 数据网格(DataGrid)列可以使用 'columns' 属性简单地定义.如果您想动态地改变列,那根本没有问题.为了改变列,您可以重新调用dat ...

  6. 雷林鹏分享:jQuery EasyUI 数据网格 - 格式化列

    jQuery EasyUI 数据网格 - 格式化列 以下实例格式化在 easyui DataGrid 里的列数据,并使用自定义列的 formatter,如果价格小于 20 就将文本变为红色. 为了格式 ...

  7. 雷林鹏分享:jQuery EasyUI 数据网格 - 设置排序

    jQuery EasyUI 数据网格 - 设置排序 本实例演示如何通过点击列表头来排序数据网格(DataGrid). 数据网格(DataGrid)的所有列可以通过点击列表头来排序.您可以定义哪列可以排 ...

  8. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建列组合

    jQuery EasyUI 数据网格 - 创建列组合 easyui 的数据网格(DataGrid)可以创建列组合,如下所示: 在本实例中,我们使用平面数据来填充数据网格(DataGrid)的数据,并把 ...

  9. 雷林鹏分享:jQuery EasyUI 数据网格 - 自定义排序

    jQuery EasyUI 数据网格 - 自定义排序 如果默认的排序行为不满足您的需求,您可以自定义数据网格(datagrid)的排序行为. 最基础的,用户可以在列上定义一个排序函数,函数名是 sor ...

随机推荐

  1. Luogu 1068 - 分数线划定 - [快速排序]

    题目链接:https://www.luogu.org/problemnew/show/P1068 题目描述世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对所有报名的选手 ...

  2. vim创建程序文件自动添加头部注释/自动文件头注释与模板定义

    Vim 自动文件头注释与模板定义 在vim的配置文件.vimrc添加一些配置可以实现创建新文件时自动添加文件头注释,输入特定命令可以生成模板. 使用方法 插入模式输入模式输入seqlogic[Ente ...

  3. 1.7Oob 方法重载和成员变量,局部变量,构造方法

    1:方法调用,如果值有参方法,必须传递实际参数. 2:方法定义了多少个参数,传递的实际参数就 必须有多少个, 方法的作用:1:描述某个类的作用,2:软件的复用 这个复用率低,作用小,价值很低: 3:

  4. PyQt5简介及demo

    PyQt5说明 pyqt5是一套Python绑定Digia QT5应用的框架.它可用于Python 2和3.本教程使用Python 3.Qt库是最强大的GUI库之一.pyqt5的官方网站http:// ...

  5. Cartographer源码阅读(4):Node和MapBuilder对象2

    MapBuilder的成员变量sensor::Collator sensor_collator_; 再次阅读MapBuilder::AddTrajectoryBuilder方法.首先构造了mappin ...

  6. POJ 3087 模拟

    给定两个长度为len的字符串s1和s2, 接着给出一个长度为len*2的字符串s12. 将字符串s1和s2通过一定的变换变成s12,找到变换次数 变换规则如下: 假设s1=12345,s2=67890 ...

  7. 【2】Kali之情报搜集技术

    渗透测试中情报搜集需要完成两项重要任务: 1.通过信息搜集工作,确定渗透测试目标范围. 2.通过情报信息搜集,发现渗透测试目标的安全漏洞与脆弱点,为后续的渗透攻击提供基础. 通过DNS和IP地址挖掘目 ...

  8. MB SD Connect Compact 5 Error 95.53392.0 Solved

    MB SD Connect Compact 5 is new released from MB Star company ,and its original version here the copy ...

  9. Docker 部署 elk + filebeat

    Docker 部署 elk + filebeat kibana 开源的分析与可视化平台logstash 日志收集工具 logstash-forwarder(原名lubmberjack)elastics ...

  10. Python socket粘包解决

    socket粘包: socket 交互send时,连续处理多个send时会出现粘包,soket会把两条send作为一条send强制发送,会粘在一起. send发送会根据recv定义的数值发送一个固定的 ...