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的$(document).ready()和onload的加载顺序
May 26 Javascript
js禁止小键盘输入数字功能代码
Aug 01 Javascript
GRID拖拽行的实例代码
Jul 18 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
Dec 18 Javascript
微信WeixinJSBridge API使用实例
May 25 Javascript
使用jQuery,Angular实现登录界面验证码详解
Apr 27 jQuery
Angular中ng-repeat与ul li的多层嵌套重复问题
Jul 24 Javascript
解决Webpack 热部署检测不到文件变化的问题
Feb 22 Javascript
express默认日志组件morgan的方法
Apr 05 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
Jun 17 Javascript
vue穿梭框实现上下移动
Jan 29 Vue.js
Vue.js中v-bind指令的用法介绍
Mar 13 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
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
node之本地服务器图片上传的方法示例
2019/03/26 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
python中正则表达式的使用详解
2014/10/17 Python
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
python开发中range()函数用法实例分析
2015/11/12 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
运动会入场解说词300字
2014/01/25 职场文书
书香校园活动方案
2014/02/28 职场文书
国旗下演讲稿
2014/05/08 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
三严三实对照检查材料
2014/09/22 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
四年级学生期末评语
2014/12/26 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
教你如何使用Python Tkinter库制作记事本
2021/06/10 Python