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 文本框水印/占位符(watermark/placeholder)实现方法
Jan 15 Javascript
JavaScript执行效率与性能提升方案
Dec 21 Javascript
setInterval与clearInterval的使用示例代码
Jan 28 Javascript
jquery获取复选框被选中的值
Mar 22 Javascript
JS/Jquery判断对象为空的方法
Jun 11 Javascript
jquery form表单获取内容以及绑定数据
Feb 24 Javascript
微信小程序动画(Animation)的实现及执行步骤
Oct 28 Javascript
JS实现随机生成10个手机号的方法示例
Dec 07 Javascript
ES6的异步终极解决方案分享
Jul 11 Javascript
微信小程序button标签open-type属性原理解析
Jan 21 Javascript
WEB前端性能优化的7大手段详解
Feb 04 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 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
总集篇&特番节目先行播出!《SAO Alicization War of Underworld》第2季度TV动画4月25日放送!
2020/03/06 日漫
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
php 动态添加记录
2009/03/10 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
PHP 图片处理
2020/09/16 PHP
xtree.js 代码
2007/03/13 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
python支持断点续传的多线程下载示例
2014/01/16 Python
python单线程实现多个定时器示例
2014/03/30 Python
Python之eval()函数危险性浅析
2014/07/03 Python
详解Python爬虫的基本写法
2016/01/08 Python
python模拟Django框架实例
2016/05/17 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
Python内置函数delattr的具体用法
2017/11/23 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
创建Django项目图文实例详解
2019/06/06 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
法国在线药房:DoctiPharma
2020/10/21 全球购物
基层党组织整改方案
2014/10/25 职场文书