我们依然拿旧版对比一下。Ext 3里面要编辑Grid单元格,就必须制定EditorGrid类。通过继承方式可能不太灵活,于是Ext 4就否决了继承的方式,而是采用“插件化”的方式。通过Ext JS4的Editing插件可以自由绑定到任意的Grid的实例,对于全体任何类型的Grid均可使用。于是乎,此举又为提高“灵活性(flexibility)”添泼了一抹浓彩。此外,对于Ext 3中很受大家所欢迎的一款扩展:RowEditor,在这次发布我们也将RowEditor正式加入的Ext 4包中去,成为标准类库的一员。(引自官方说明)

4系的编辑模式和3系完全不同,彻底抛弃EditorGrid类,改为使用插件支持编辑。今天,使用direct技术说明grid是如何与后台进行数据联系的。并举了几个实际中经常应用的例子:下拉框编辑、下拉框树形选择,并介绍了几种主从表编辑模式,说明各模式优缺点以供选择。

一、预备知识:grid的选择模式

grid有两种编辑模式:行编辑和单元格编辑,相应的有两种选择模式与其配合:行选择和单元格选择。默认是行选择,可以通过selType: 'cellmodel'改变。效果区别如下:

行选择

列选择

二、编辑模式的设置

两种编辑模式通过实例化Ext.grid.plugin.CellEditing或者Ext.grid.plugin.RowEditing进行设定,注意要与相应的选择模式配合。每个列使用的编辑方法通过field参数指定。field为Ext.form.field.Field的实例,使用xtype设定类别,可以为text、number、combobox等等,具体设置参考各类的api。不设定field则该列不能修改。

Ext.grid.plugin.CellEditing通常只设置clicksToEdit一个属性,1为单击开启修改模式,2为双击。Ext.grid.plugin.RowEditing多一个autoCancel设置,为true的话点击其他行就会自动取消上一个行的编辑并丢弃结果,默认为true,我经常设置为false让用户自己点,不会点错了丢数据。

1、单元格编辑

Ext.create('Ext.grid.Panel', { title: 'Simpsons', store: new simpsonsStore(), columns: [ {header: 'Name', dataIndex: 'name', field: 'textfield'}, {header: 'Email', dataIndex: 'email', flex:1, field:{ xtype:'textfield', allowBlank:false } }, {header: 'Phone', dataIndex: 'phone'} ], selType: 'cellmodel', plugins: [ Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }) ], height: 200, width: 400, renderTo: Ext.getBody() });

2、行编辑

Ext.create('Ext.grid.Panel', { title: 'Simpsons', store: new simpsonsStore(), columns: [ {header: 'Name', dataIndex: 'name', field: 'textfield'}, {header: 'Email', dataIndex: 'email', flex:1, field:{ xtype:'textfield', allowBlank:false } }, {header: 'Phone', dataIndex: 'phone'} ], plugins: [ Ext.create('Ext.grid.plugin.RowEditing', { clicksToEdit: 1 }) ], height: 200, width: 400, renderTo: Ext.getBody() });

遇到一点问题,起床后再写下grid与后台的交互,写了有点慢,见谅。

转载于:https://www.cnblogs.com/luyingxue/archive/2011/06/01/2065316.html

Ext4核心组件Grid的变化及学习(3):可编辑的grid相关推荐

  1. CUDA学习----sp, sm, thread, block, grid, warp概念

    CUDA学习----sp, sm, thread, block, grid, warp概念 2017-01-11 17:14:28|  分类: HPC&CUDA优化 |  标签:cuda  g ...

  2. ExtJS4.2学习(11)——高级组件之Grid

    大纲: 1.首先,搭建起来一个最基础的Grid组件: 2.其次,利用前边MVC架构将代码重构: 3.再者,介绍下Grid的一些特性. 一.搭建基础的Grid组件 在文章的开始,我们首先简单的搭建一个G ...

  3. 【直播预告】从A76到 A78——在变化中学习ARM微架构

    伴随智能手机高速发展,处理器架构设计开发ARM公司几乎每年都更新CPU的核心架构.从2018年至2020年,ARM公司基于ARMv8架构推出了三代Cortex-A76.Cortex-A77.Corte ...

  4. python mysql数据库操作grid控件_Python学习笔记_02:使用Tkinter连接MySQL数据库实现登陆注册功能...

    1 环境搭建 1.1 Python安装 本文具体实现部分Python环境:Python2.7.14,64位版本 附:配置PythonIDE,推荐PyCharm(具体IDE界面见下图),下载点击运行即可 ...

  5. 机器人学习--栅格地图(occupancy grid map)构建(部分代码解析)

    转自: 占据栅格地图构建(Occupancy Grid Map) - 知乎 占据栅格地图构建(Occupancy Grid Map)_「小白学移动机器人」一个专注分享移动机器人相关知识的公众号!-CS ...

  6. oracle数据变化记录,学习笔记:Oracle伪列函数ora_rowscn 记录表中行数据的修改时间...

    天萃荷净 Oracle数据库开发时使用伪列函数ora_rowscn查询出数据库表中行数据的修改时间 一.默认情况下 –创建t_orascn测试表 SQL> create table t_oras ...

  7. grid 栅格/网格布局学习笔记

    1.前言 栅格布局或者说网格布局是很好用的东西,像一些商城类的排版就很适合用栅格布局,但是存在一定的兼容性问题,兼容性暂时还没有研究,这边学习总结是针对grid也就是栅格布局的使用的学习总结,下面将介 ...

  8. 从A76到A78——在变化中学习ARM微架构

    一.引言 伴随智能手机的高速发展,移动处理器架构设计厂商ARM公司几乎每年都更新CPU的核心架构.从2018至2020年,ARM公司基于ARMv8架构推出了三代Cortex-A76.Cortex-A7 ...

  9. class h5 点击后样式变化_H5学习笔记

    目录 什么是HTML: 头部标签 H5视频 H5音频 H5拖放 H5Web存储 H5应用缓存 H5画布SVG H5画布canvas 全局属性: 事件属性: 颜色.样式和阴影 线条样式 矩形 路径 转换 ...

最新文章

  1. 深入理解GBDT多分类算法
  2. 我的DWR学习(一)
  3. 淘宝网登陆时密码输不进去??
  4. Error opening/initializing the selected video_out (-vo) device.
  5. FastJson简单应用
  6. DELL6224交换机基本配置命令明细
  7. android 打开支付宝扫码页_Chrome 85正式版发布:新增标签页分组功,网页多了也不乱...
  8. 通过源码将git升级到最新版
  9. Flink : exitCode=1 the main method caused an error: could not deploy yarn job cluster
  10. JS来推断文本框内容改变事件
  11. 阿里的Json解析包FastJson使用
  12. 电子设计竞赛方案搜集
  13. .NET基础拾遗(1)类型语法基础和内存管理基础
  14. word插入漂亮的代码块
  15. linux基础的基础命令操作
  16. 【MATLAB】基本绘图 ( Marker 设置 | 设置 Marker 边框 | 设置 Marker 填充 )
  17. ASP.NET Development Server的Directory Browsing模式HTML垃圾代码
  18. [Django ]Django 的数据库操作
  19. 推广、策划、运营都在用这些工具,不知道就太out了
  20. Ajax学习一 创建Ajax对象(高洛峰)

热门文章

  1. Codeforce 1042 D. Petya and Array(树状数组、前缀和)
  2. C++知识 interview
  3. 【Linux】gcc和g++的区别
  4. linux服务器cuda,cudnn的安装与卸载
  5. 机器学习 KNN算法_0 丐版(matlab实现)
  6. X265整体流程-Create
  7. 使用内置的Gallery应用程序选择图形
  8. php获取python的变量,PHPPython变量交换
  9. java 通过jdbc驱动连接hive操作实例
  10. MySQL 是如何利用索引的