JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色


Posted in Javascript onNovember 26, 2015

表格GridPanel概述

      ExtJS中的表格功能非常强大,包括了排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能。

表格由类Ext.grid.GridPanel定义,继承自Panel,其xtype为grid。ExtJS中,表格Grid必须包含列定义信息,并指定表格的数据存储器Store。表格的列信息由类Ext.grid.Column(以前是由Ext.grid.ColumnModel定义)、而表格的数据存储器由Ext.data.Store定义,数据存储器根据解析的数据不同分为JsonStore、SimpleStroe、GroupingStore等。

下面通过一段代码给大家介绍sencha gridpanel 编辑单元,具体代码如下所示:

{
xtype: 'gridpanel',
region: 'north',
height: 150,
title: 'My Grid Panel',
store: 'A_Test_Store',
columns: [
{
xtype: 'gridcolumn',
dataIndex: 'Name',
text: 'Name',
editor: {
xtype: 'textfield'
}
},
{
xtype: 'gridcolumn',
dataIndex: 'Content',
text: 'Content'
},
{
xtype: 'gridcolumn',
dataIndex: 'Time',
text: 'Time'
}
],
plugins: [
Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1, //点击单元格编辑
listeners: {
beforeedit: {
fn: me.onCellEditingBeforeEdit,
scope: me
},
validateedit: {
fn: me.onCellEditingValidateedit,
scope: me
}
}
})
]
}
onCellEditingBeforeEdit: function(editor, e, eOpts) {//动态赋值用.正常情况下不需要该事件.
   e.record.data[e.field]= "my test";
e.value="my test";
e.record.commit(); //提交,不提交无效
}
onCellEditingValidateedit: function(editor, e, eOpts) {
if(e.row==1) //验证逻辑
{
e.cancel=true; //取消
e.record.data[e.field] = e.value;
}
e.record.commit();
}

下面一段代码是关于sencha gridpanel改变单元格颜色

标题列包含 审核通过则绿色,包含拒绝为红色:

{
xtype: 'gridcolumn',
renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
metaData.tdAttr = 'data-qtip="'+record.data.Content+'"';

if(record.data.Content.indexOf('审核通过')!=-1)
{
metaData.style="color:green";
}
else if(record.data.Content.indexOf('拒绝')!=-1)
{
metaData.style="color:red";
}
return value;
}
,
width: '*',
dataIndex: 'Title',
text: '标题'
}

Javascript 相关文章推荐
用javascript实现的支持lrc歌词的播放器
May 17 Javascript
基于jquery的15款幻灯片插件
Apr 10 Javascript
$.ajax返回的JSON无法执行success的解决方法
Sep 09 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
Aug 01 Javascript
AngularJs Injecting Services Into Controllers详解
Sep 02 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
Nov 09 Javascript
微信小程序 request接口的封装实例代码
Apr 26 Javascript
Vue computed计算属性的使用方法
Jul 14 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
Oct 25 Javascript
在Angular中使用JWT认证方法示例
Sep 10 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
May 28 Javascript
详解离线安装npm包的几种方法
Nov 25 Javascript
基于jquery实现全屏滚动效果
Nov 26 #Javascript
javascript给span标签赋值的方法
Nov 26 #Javascript
谈谈javascript中使用连等赋值操作带来的问题
Nov 26 #Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 #Javascript
js检测iframe是否加载完成的方法
Nov 26 #Javascript
学习JavaScript设计模式(策略模式)
Nov 26 #Javascript
深入浅析同源策略和跨域访问
Nov 26 #Javascript
You might like
PHP 递归效率分析
2009/11/24 PHP
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
跟我学习javascript的浮点数精度
2015/11/16 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
vue组件jsx语法的具体使用
2018/05/21 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
Python的log日志功能及设置方法
2019/07/11 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
python实现简单的学生管理系统
2021/02/22 Python
Python的collections模块真的很好用
2021/03/01 Python
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
个人自荐信
2013/12/05 职场文书
创业计划书撰写原则
2014/01/25 职场文书
驾驶员岗位职责
2014/01/29 职场文书
《自然之道》教学反思
2014/02/11 职场文书
后备干部推荐材料
2014/12/24 职场文书
赔偿协议书
2015/01/27 职场文书
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
Win11快速关闭所有广告推荐
2022/04/19 数码科技
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电