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 相关文章推荐
TextArea不支持maxlength的解决办法(jquery)
Sep 13 Javascript
Javascript中 关于prototype属性实现继承的原理图
Apr 16 Javascript
jQuery DOM插入节点操作指南
Mar 03 Javascript
Vuex之理解Mutations的用法实例
Apr 19 Javascript
javascript简单写的判断电话号码实例
May 24 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
Jul 02 Javascript
Angular 1.x个人使用的经验小结
Jul 19 Javascript
解决JQuery全选/反选第二次失效的问题
Oct 11 jQuery
Vue 获取数组键名的方法
Jun 21 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
Jun 10 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
Apr 03 Javascript
技术男用来对妹子表白的百度首页
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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
Apache2 httpd.conf 中文版
2006/11/17 PHP
PHP几个数学计算的内部函数学习整理
2011/08/06 PHP
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
jquery 1.4.2发布!主要是性能与API
2010/02/25 Javascript
js中for in的用法示例解析
2013/12/25 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
jquery实现图片预加载
2015/12/25 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
微信小程序封装http访问网络库实例代码
2017/05/24 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
Python分支结构(switch)操作简介
2018/01/17 Python
浅谈Pycharm中的Python Console与Terminal
2019/01/17 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
AOP的定义以及作用
2013/09/08 面试题
什么是测试驱动开发(TDD)
2012/02/15 面试题
医学检验专业个人求职信范文
2013/12/04 职场文书
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
团代会宣传工作方案
2014/05/08 职场文书
2014年幼儿园教研工作总结
2014/12/04 职场文书
JS + HTML 罗盘式时钟的实现
2021/05/21 Javascript