EXTJS系列笔记(6.X)————gridpanel每一行根据值显示不同颜色,相同的值显示相同颜色

需求就是如题所说,下面直接代码

自己定义的 css文件,表示不同背景颜色

/*淡黑*/
.backColorBlack{
	background: #E0E0E0;    
}
/*淡绿*/
.backColorGreen{  
    background: #C3FF8F;    
}  
/*淡大红*/
.backColorBigRed{  
    background: #FF9797;    
}  
/*淡红*/
.backColorRed{  
    background: #FFA6FF;    
}  
/*淡黄*/
.backColorYellow{  
    background: #FFFF93;    
} 
/*淡蓝*/
.backColorBlue{  
    background: #84C1FF;    
} 
/*淡紫*/
.backColorPurple{  
    background: #CA8EFF;    
} 
/*淡橙色*/
.backColorOri{  
    background: #FFBB77;    
} 
/*淡碧色*/
.backColorAuburn{  
    background: #9393FF;    
} 
/*淡棕*/
.backColorBrown{  
    background: #C2C287;    
} 

js代码


var colorArr = ["backColorGreen","backColorBigRed","backColorYellow",
		 "backColorRed","backColorBlue","backColorOri","backColorPurple",
		 "backColorBrown","backColorAuburn","backColorBlack"];
		 
columns: [
	{
		text: 'Lot ID',
		flex:1.2,
		dataIndex: 'lotId',
  	        renderer:function(value, row, column, rowIndex, data, table){
				var datas = row.record.getData();
				var countObj = new Object();	//用这个object来统计数量
				for(let key  in datas){
 
					if(datas[key] in countObj){
						 //如果包含了这个属性,就属性的value值+1
						 countObj[datas[key]]= (countObj[datas[key]]+1);
					}else{
						 //如果没有包含,就赋值为1
						 countObj[datas[key]] = 1;
					}
				}
				 //给每个大于2的属性分配一种颜色
				var count = 0;
				for(let key  in countObj){
					 if(countObj[key]>=2){
						 countObj[key] = colorArr[count];
						 count++;
					 }
				}
				
				//显示 颜色
				for(let key  in countObj){
					 //如果当前值等于这个key,就显示这个key的颜色。
					 if(key==value){
						 row.css=countObj[key];
					 }
				}
				return value;
    	    }
		
	}
]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值