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 相关文章推荐
jQuery 拖动层(在可视区域范围内)
May 24 Javascript
jquery validate poshytip 自定义样式
Nov 26 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
Mar 19 Javascript
JS与jQ读取xml文件的方法
Dec 08 Javascript
基于javascript实现图片滑动效果
May 07 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
Aug 29 Javascript
Vue.js实现拖放效果的实例
Sep 30 Javascript
Bootstrap基本样式学习笔记之按钮(4)
Dec 07 Javascript
微信小程序时间控件picker view使用详解
Dec 28 Javascript
vue配置文件实现代理v2版本的方法
Jun 21 Javascript
TypeScript中使用getElementXXX()的示例代码
Sep 12 Javascript
vue 动态组件用法示例小结
Mar 06 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使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
2019/12/31 PHP
jQuery html()等方法介绍
2009/11/18 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
2016/05/26 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
angular多语言配置详解
2019/05/16 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
2020/02/15 Javascript
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
Pycharm github配置实现过程图解
2020/10/13 Python
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
教你打造完美的创业计划书
2014/01/06 职场文书
信息技术课后反思
2014/04/27 职场文书
植物生产学专业求职信
2014/08/08 职场文书
见习报告的格式
2014/10/31 职场文书
安全保证书怎么写
2015/02/28 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
银行中层干部培训心得体会
2016/01/11 职场文书
Python基础之tkinter图形化界面学习
2021/04/29 Python
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript
MySQL数据库查询之多表查询总结
2022/08/05 MySQL