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 相关文章推荐
提高 DHTML 页面性能
Dec 25 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
May 18 Javascript
js实现简单的购物车有图有代码
May 26 Javascript
javascript实现可拖动变色并关闭层窗口实例
May 15 Javascript
用iframe实现不刷新整个页面上传图片的实例
Nov 18 Javascript
简单理解js的冒泡排序
Dec 19 Javascript
浅析Angular19 自定义表单控件
Jan 31 Javascript
js使用formData实现批量上传
Mar 27 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
Aug 07 Javascript
微信小程序实现购物车代码实例详解
Aug 29 Javascript
es6 super关键字的理解与应用实例分析
Feb 15 Javascript
JavaScript获取时区实现过程解析
Sep 24 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 skymvc 一款轻量、简单的php
2011/06/28 PHP
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
js word表格动态添加代码
2010/06/07 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
Angular2 父子组件数据通信实例
2017/06/22 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
详解python之配置日志的几种方式
2017/05/22 Python
python爬虫入门教程--正则表达式完全指南(五)
2017/05/25 Python
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
详解python UDP 编程
2020/08/24 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
关于.NET, HTML的五个问题
2012/08/29 面试题
信息系统专业个人求职信范文
2013/12/07 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
建房协议书
2014/04/11 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
地道战观后感2000字
2015/06/04 职场文书
《开国大典》教学反思
2016/02/16 职场文书
Redis中一个String类型引发的惨案
2021/07/25 Redis