Extjs根据条件设置表格某行背景色示例


Posted in Javascript onJuly 23, 2014

话不多说,贴上代码

html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<link rel="stylesheet" type="text/css" href="../extjs3/resources/css/ext-all.css" rel="external nofollow" /> 
<script type="text/javascript" src="../extjs3/adapter/ext/ext-base.js"></script> 
<script type="text/javascript" src="../extjs3/ext-all.js"></script> 
<script type="text/javascript" src="array-grid.js"></script> 
<style type="text/css"> 
.<span style="font-family: Arial, Helvetica, sans-serif;">my_row_class</span><span style="font-family: Arial, Helvetica, sans-serif;">{ background:gray;}</span> 
</style> 
</head> 
<body> 
<div id="grid-example"></div> 
</body> 
</html>

 js代码,其中应-----隔开的代码即为关键代码,自己分析吧:

Ext.onReady(function(){ 
Ext.QuickTips.init(); 
Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); 

// sample static data for the store 
var myData = [ 
['3m Co', 71.72, 0.02, 0.03, '9/1 12:00am'], 
['3m Co', 71.72, 0.02, 0.03, '9/1 12:00am'], 
['Alcoa Inc', 29.01, 0.42, 1.47, '9/1 12:00am'], 
['Altria Group Inc', 83.81, 0.28, 0.34, '9/1 12:00am'], 
['Altria Group Inc', 83.81, 0.28, 0.34, '9/1 12:00am'], 
['Altria Group Inc', 83.81, 0.28, 0.34, '9/1 12:00am'], 
['Wal-Mart Stores, Inc.', 45.45, 0.73, 1.63, '9/1 12:00am'] 
]; 

/** 
* Custom function used for column renderer 
* @param {Object} val 
*/ 
function change(val) { 
if (val > 0) { 
return '<span style="color:green;">' + val + '</span>'; 
} else if (val < 0) { 
return '<span style="color:red;">' + val + '</span>'; 
} 
return val; 
} 

/** 
* Custom function used for column renderer 
* @param {Object} val 
*/ 
function pctChange(val) { 
if (val > 0) { 
return '<span style="color:green;">' + val + '%</span>'; 
} else if (val < 0) { 
return '<span style="color:red;">' + val + '%</span>'; 
} 
return val; 
} 

// create the data store 
var store = new Ext.data.ArrayStore({ 
fields: [ 
{name: 'company'}, 
{name: 'price', type: 'float'}, 
{name: 'change', type: 'float'}, 
{name: 'pctChange', type: 'float'}, 
{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'} 
] 
}); 

// manually load local data 
store.loadData(myData); 

// create the Grid 
var grid = new Ext.grid.GridPanel({ 
store: store, 
columns: [ 
{ 
id :'company', 
header : 'Company', 
width : 160, 
sortable : true, 
dataIndex: 'company' 
}, 
{ 
header : 'Price', 
width : 75, 
sortable : true, 
renderer : 'usMoney', 
dataIndex: 'price' 
}, 
{ 
header : 'Change', 
width : 75, 
sortable : true, 
renderer : change, 
dataIndex: 'change' 
}, 
{ 
header : '% Change', 
width : 75, 
sortable : true, 
renderer : pctChange, 
dataIndex: 'pctChange' 
}, 
{ 
header : 'Last Updated', 
width : 85, 
sortable : true, 
renderer : Ext.util.Format.dateRenderer('m/d/Y'), 
dataIndex: 'lastChange' 
} 
],viewConfig : {forceFit:true 
//------------------------------------------------ 
,getRowClass : function(record,rowIndex,rowParams,store){ 
if("3m Co"==record.get('company')){ 
return 'my_row_class'; 
} 
} 
//------------------------------------------------ 
}, 
stripeRows: true, 
autoExpandColumn: 'company', 
height: 350, 
width: 600, 
title: 'Array Grid', 
// config options for stateful behavior 
stateful: true, 
stateId: 'grid' 
}); 

// render the grid to the specified div in the page 
grid.render('grid-example'); 
});
Javascript 相关文章推荐
javascript 面向对象编程基础:继承
Aug 21 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
Jul 04 Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
Aug 08 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 Javascript
微信扫码支付零云插件版实例详解
Apr 26 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
Jun 13 Javascript
Vue自定义事件(详解)
Aug 19 Javascript
babel的使用及安装配置教程
Feb 22 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
Nov 10 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
Nov 06 Javascript
梳理一下vue中的生命周期
Dec 30 Vue.js
技术男用来对妹子表白的百度首页
Jul 23 #Javascript
JS中使用sort结合localeCompare实现中文排序实例
Jul 23 #Javascript
JS在IE下缺少标识符的错误
Jul 23 #Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 #Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
Jul 23 #Javascript
Javascript的&amp;&amp;和||的另类用法
Jul 23 #Javascript
jQuery获取节点和子节点文本的方法
Jul 22 #Javascript
You might like
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
example1.php
2006/10/09 PHP
php导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
php去除字符串换行符示例分享
2014/02/13 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
codeigniter中view通过循环显示数组数据的方法
2015/03/20 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
微信网页授权并获取用户信息的方法
2018/07/30 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
python实现每次处理一个字符的三种方法
2014/10/09 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
采购类个人求职的自我评价
2014/02/18 职场文书
暑期教师培训方案
2014/06/07 职场文书
MySQL 聚合函数排序
2021/07/16 MySQL
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL