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实现table行折叠效果以JSON做数据源
May 26 Javascript
JavaScript 七大技巧(一)
Dec 13 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
Jul 27 Javascript
详解ECharts使用心得总结
Dec 06 Javascript
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
动态加载JavaScript文件的3种方式
May 05 Javascript
layui从数据库中获取复选框的值并默认选中方法
Aug 15 Javascript
解决eclipse中没有js代码提示的问题
Oct 10 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
Mar 13 Javascript
3分钟了解vue数据劫持的原理实现
May 01 Javascript
JS实现多选框的操作
Jun 24 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
基于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 不使用js实现页面跳转
2014/02/11 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
php调整服务器时间的方法
2015/04/03 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
event.srcElement+表格应用
2006/08/29 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
浅析script标签中的defer与async属性
2016/11/30 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
利用Python学习RabbitMQ消息队列
2015/11/30 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
详解Python中is和==的区别
2019/03/21 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
Keds官方网站:购买帆布运动鞋和经典皮鞋
2016/11/12 全球购物
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
数控技术与应用毕业生自荐信
2013/09/24 职场文书
消防宣传口号
2014/06/16 职场文书
论文评审意见
2015/06/05 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers
Vue router配置与使用分析讲解
2022/12/24 Vue.js