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 相关文章推荐
JS实现日期加减的方法
Nov 29 Javascript
购物车选中得到价格实现示例
Jan 26 Javascript
轻松搞定jQuery.noConflict()
Feb 15 Javascript
jQuery、zepto、js常用小技巧
Feb 12 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
Apr 01 Javascript
javascript 取小数点后几位几种方法总结
Aug 02 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
Aug 22 Javascript
vue滚动轴插件better-scroll使用详解
Oct 17 Javascript
浅谈super-vuex使用体验
Jun 25 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
Aug 20 Javascript
JavaScript创建防篡改对象的方法分析
Dec 30 Javascript
vue 导航内容设置选中状态样式的例子
Nov 01 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 fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
js中传递特殊字符(+,&)的方法
2014/01/16 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
js实现圆盘记速表
2015/08/03 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
JS中判断字符串存在和非空的方法
2018/09/12 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
使用Python & Flask 实现RESTful Web API的实例
2017/09/19 Python
python中的for循环
2018/09/28 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
python3 反射的四种基本方法解析
2019/08/26 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
小学生考试获奖感言
2014/01/30 职场文书
信息技术培训感言
2014/03/06 职场文书
社团活动总结怎么写
2014/06/30 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
2019军训心得体会
2019/06/27 职场文书
vue实现同时设置多个倒计时
2021/05/20 Vue.js
怎么用Python识别手势数字
2021/06/07 Python
i7 6700处理器相当于i5几代
2022/04/19 数码科技