Extjs设置GridPanel选中行背景色和选中单元格背景色

var view = grid.getView();

view.getRow(index).style.backgroundColor = "red";  //选中行背景色

view.getCell(rowIndex,colIndex).style.backgroundColor = "red";  //选中单元格背景色

我在开发时是在CheckboxSelectionModel中的beforerowselect中进行设置的:

var smQd = new Ext.grid.CheckboxSelectionModel({
  'beforerowselect':function(sm,rowIndex,keepExisting,record){
var l = storeXtcpyy.getCount();
for(var i=0;i<l;i++){
if(i%2 == 0){
var view = gridXtcpyy.getView();
view.getRow(i).style.backgroundColor = "white";
}else{
var view = gridXtcpyy.getView();
view.getRow(i).style.backgroundColor = "#FAFAFA";
}
}
}
}
   });
gridXtcpyy.addListener('cellclick', function (grid, rowIndex, columnIndex, event) {
var view = gridXtcpyy.getView();
view.getRow(rowIndex).style.backgroundColor = "#DFE8F6";
  }, gridXtcpyy);
var smQd = new Ext.grid.CheckboxSelectionModel({
renderer:function(value, metaData, record, rowIndex, colIndex, store){
if((org_id == record.data['dsfjg'])||(top_org_id == org_id)){
if((record.data['ywdm']=="901")||(record.data['xgdjzt'].split("-")[0] == 2)||(record.data['khlxzt'].split("-")[0] != 0)||(record.data['khtzzt'].split("-")[0] != 0)){
return "";
}else{
return '<div class="x-grid3-row-checker"> </div>';
}
}else{
return "";
} },
//不允许使用点击表格形式修改选择
//handleMouseDown:Ext.emptyFn,
listeners:{
/*'rowselect':function(sm,rowIndex,record){
var view = gridXtcpyy.getView();
view.getRow(rowIndex).style.backgroundColor = "#DFE8F6";
},
'rowdeselect':function(sm,rowIndex,record){
var l = storeXtcpyy.getCount();
for(var i=0;i<l;i++){
if(i%2 == 0){
var view = gridXtcpyy.getView();
view.getRow(i).style.backgroundColor = "white";
}else{
var view = gridXtcpyy.getView();
view.getRow(i).style.backgroundColor = "#FAFAFA";
}
}
},*/
'selectionchange':function(sm){
if(sm.getSelections().length>0){
var select_zyed = 0;
var yxt_rs = 0;
for(var i=0;i<sm.getSelections().length;i++){
if((sm.getSelections()[i].data['xgdjzt'].split("-")[0] != 2)&&(sm.getSelections()[i].data['khlxzt'].split("-")[0] == 0)){
var jyje_arr = sm.getSelections()[i].data['jyje'].split(",");
var jyje_sel = "";
for(var j = 0; j< jyje_arr.length; j++){
jyje_sel += jyje_arr[j];
}
select_zyed = select_zyed + parseFloat(jyje_sel) ;
//console.log("-------1:"+select_zyed);
//select_zyed = accAdd(select_zyed,parseFloat(jyje_sel));
if(parseFloat(jyje_sel)>=gmqdje && parseFloat(jyje_sel) < xzje){
yxt_rs ++;
} }
}
used_ed.setValue(rendererZhMoney(select_zyed));
//var total_ed_arr = total_ed.getValue().split(",");
var total_ed_arr = Ext.getCmp("total_ed").getValue().split(",");
var _total_ed = "";
for(var j = 0; j< total_ed_arr.length; j++){
_total_ed += total_ed_arr[j];
}
_total_ed = parseFloat(_total_ed);
var sure_used_ed_arr = Ext.getCmp("sure_used_ed").getValue().split(",");
var _sure_used_ed = "";
for(var j = 0; j< sure_used_ed_arr.length; j++){
_sure_used_ed += sure_used_ed_arr[j];
}
_sure_used_ed = parseFloat(_sure_used_ed); var yfdx_wqr_ed_arr = Ext.getCmp("yfdx_wqr_ed").getValue().split(",");
var _yfdx_wqr_ed = "";
for(var j = 0; j< yfdx_wqr_ed_arr.length; j++){
_yfdx_wqr_ed += yfdx_wqr_ed_arr[j];
}
_yfdx_wqr_ed = parseFloat(_yfdx_wqr_ed);
//console.log("---------:"+Subtr(_total_ed,accAdd(accAdd(_sure_used_ed,_yfdx_wqr_ed),select_zyed)));
//leave_ed.setValue(rendererZhMoney(_total_ed-_sure_used_ed-_yfdx_wqr_ed-select_zyed));
leave_ed.setValue(rendererZhMoney(Subtr(_total_ed,accAdd(accAdd(_sure_used_ed,_yfdx_wqr_ed),select_zyed))));
//leave_ed.setValue(rendererZhMoney(Subtr(total_ed,select_zyed))); total_rs = total_xje_rs.getValue();
ytz_rs = ytz_xje_rs.getValue();
yxz_xje_rs.setValue(yxt_rs);
sy_xje_rs.setValue(Subtr(total_rs,accAdd(ytz_rs,yxt_rs)));
}else{
used_ed.setValue(rendererZhMoney(0));
//leave_ed.setValue(total_ed.getValue());
var total_ed_arr = Ext.getCmp("total_ed").getValue().split(",");
var _total_ed = "";
for(var j = 0; j< total_ed_arr.length; j++){
_total_ed += total_ed_arr[j];
}
_total_ed = parseFloat(_total_ed);
var sure_used_ed_arr = Ext.getCmp("sure_used_ed").getValue().split(",");
var _sure_used_ed = "";
for(var j = 0; j< sure_used_ed_arr.length; j++){
_sure_used_ed += sure_used_ed_arr[j];
}
_sure_used_ed = parseFloat(_sure_used_ed); var yfdx_wqr_ed_arr = Ext.getCmp("yfdx_wqr_ed").getValue().split(",");
var _yfdx_wqr_ed = "";
for(var j = 0; j< yfdx_wqr_ed_arr.length; j++){
_yfdx_wqr_ed += yfdx_wqr_ed_arr[j];
}
_yfdx_wqr_ed = parseFloat(_yfdx_wqr_ed); //leave_ed.setValue(rendererZhMoney(_total_ed-_sure_used_ed-_yfdx_wqr_ed));
leave_ed.setValue(rendererZhMoney(Subtr(_total_ed,accAdd(_sure_used_ed,_yfdx_wqr_ed))));
total_rs = total_xje_rs.getValue();
ytz_rs = ytz_xje_rs.getValue();
yxz_xje_rs.setValue(0);
sy_xje_rs.setValue(Subtr(total_rs,ytz_rs)); } },
'beforerowselect':function(sm,rowIndex,keepExisting,record){
var l = storeXtcpyy.getCount();
for(var i=0;i<l;i++){
if(i%2 == 0){
var view = gridXtcpyy.getView();
view.getRow(i).style.backgroundColor = "white";
}else{
var view = gridXtcpyy.getView();
view.getRow(i).style.backgroundColor = "#FAFAFA";
}
}
if((org_id == record.data['dsfjg'])||(top_org_id == org_id)){
if((record.data['ywdm']=="901")||(record.data['xgdjzt'].split("-")[0] == 2)||(record.data['khlxzt'].split("-")[0] != 0)||(record.data['khtzzt'].split("-")[0] != 0)){
return false;
}else{
return true;
}
}else{
return false;
}
}
}
});

Extjs GridPanel 监听事件 行选中背景的更多相关文章

  1. Android中Button的五种监听事件

    简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activ ...

  2. Vue 为什么在 HTML 中监听事件?

    为什么在 HTML 中监听事件? 你可能注意到这种事件监听的方式违背了关注点分离(separation of concern)传统理念.不必担心,因为所有的 Vue.js 事件处理方法和表达式都严格绑 ...

  3. jquery中,使用append增加元素时,该元素的绑定监听事件失效

    举例:如果在一个<div id="resultArea"></div>中,通过append添加一个id="checkOutTip"的文本 ...

  4. jquery中,使用append增加新元素时,新增元素的绑定监听事件失效的解决办法

    $("outerSelector").on("eventType","innerSelector",function(){}); 举例:如果 ...

  5. Vue子组件监听事件中传递参数的方法

    在子组件中,我们可以通过以下方式监听事件: v-on:click="$emit('funcName',a)" 如果需要传多个参数,可以通过以下方式: v-on:click=&quo ...

  6. EditText中onEditorAction监听事件执行两次

    Android的EditText通过setOnEditorActionListener给文本编辑框设置监听事件,但是在其处理方法onEditorAction中的逻辑在每次回车后都触发了两次, 原来是在 ...

  7. java中的监听事件

    java监听器实现的类 1.ServletContextListener:对servlet上下文的创建和销毁监听 2.ServletContextAttributeListener:监听servlet ...

  8. 关于AngularJs中监听事件及脏循环的理解

    可能很多刚入行或者刚学习的前端对于AngularJs中的一些事件或者概念感觉不理解或者没有思路,今天让我们一起来剖析一下AngularJs中的一些事件. AngularJs中对于的监听事件会用到一个s ...

  9. vue 中监听窗口发生变化,触发监听事件, window.onresize && window.addEventListener('resize',fn) ,window.onresize无效的处理方式

    // 开始这样写,不执行 window.onresize = function() { console.log('窗口发生变化') } // 改成window监听事件 window.addEventL ...

随机推荐

  1. CentOS7的firewall和安装iptables

    前言:CentOS7 的防火墙默认使用是firewall,而我们通常使用iptables: 本文记录了firewall基础的命令和iptables的安装和使用. firewall部分: part1 : ...

  2. Docker镜像和容器

    本节内容: 安装Docker 卸载docker 镜像基本操作 容器基本操作 一.安装Docker Docker 对 Linux 内核版本的最低要求是3.10,如果内核版本低于 3.10 会缺少一些运行 ...

  3. mycat性能调优

    http://blog.csdn.net/wangshuang1631/article/details/69056070

  4. js与jquery的动态加载脚本文件

    jquery动态加载 jQuery.getScript(url,[callback]) js动态加载 function loadJs(name) { document.write('<scrip ...

  5. linux系统host修改

    有时候我们需要修改主机的host主机名,方便管理和识别自己的服务器,修改步骤如下: 第一步: vi  /etc/hosts 正常情况下,修改了第一步就可以了,如果通过hostname命令查看还是修改以 ...

  6. 使用scss + react + webpack + es6实现幻灯片

    写在前面: 刚学习完慕课网里的一个幻灯片案例,自己加了刚学的react,两者结合.首先让大家看看效果 点击此处 你可以先用纯js实现上面的效果:我的github上的 JS代码 或者 观看慕课提供的课程 ...

  7. 全面兼容的Iframe 与父页面交互操作

     父页面 Father.htm 源码如下:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  8. pyinstaller 打包错误集锦

    最近在用 pyinstaller 打包项目的时候遇到如下错误: RecursionError: maximum recursion depth exceeded 解决方案 执行 pyinstaller ...

  9. python 全排列

    itertools模块现成的全排列: for i in itertools.permutations('abcd',4): print ''.join(i) 相关全排列算法: def perm(l): ...

  10. python opencv3 矩形 圆形边框

    git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 import numpy as np # 读入图像 ...