当前位置: 代码网 > it编程>前端脚本>ExtJs > Extjs根据条件设置表格某行背景色示例

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

2024年05月15日 ExtJs 我要评论
话不多说,贴上代码html代码:<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org

话不多说,贴上代码

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'); 
});
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com