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. hdu 5943(素数间隔+二分图匹配)

    Kingdom of Obsession Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  2. Effective STL 学习笔记 Item 16:vector, string & C API

    有时需要支持 C 的接口,但这并不复杂. 对于 vector 来讲, \(v[0]\) 的地址 \(\&v[0]\) 即可作为数组指针传递给 C API: 1: // Legacy C API ...

  3. 如何把自己的wordpress网站移到本地修改

    有时候wordpress更换模板时,需要修改的地方很多,而且在线修改不是很好.只能把它移动到电脑本地进行修改了.这样修改好就可以直接套用到网站上了. 1.通过服务器控制面板或FTP整站打包,发送到你已 ...

  4. GUC-7 同步锁 Lock

    import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 一.用于解决 ...

  5. ASP.NET Web API 2:Action的返回类型

    Web API控制器中的Action方法有如下几种返回类型: void HttpResponseMessage IHttpActionResult 其它类型 基于上面几种不同的返回类型,Web API ...

  6. USACO 6.4 The Primes

    The PrimesIOI'94 In the square below, each row, each column and the two diagonals can be read as a f ...

  7. oracle数据库的安装

    ---create group groupadd oinstallgroupadd dbagroupadd oper ------create user useradd -g oinstall -G ...

  8. tensorflow初始化参数内存占满问题

    最近使用tensorflow构建了一个浅层的网络,初始化参数的时候发现两个1080ti 22G的显存马上占满 后来发现解决办法为:在创建session的时候把显存设置为自适应即可,如下 config ...

  9. 《Android源码设计模式》--抽象工厂模式

    No1: 4种MediaPlayer Factory分别会生成不同的MediaPlayer基类:StagefrightPlayer.NuPlayerDriver.MidiFile和TestPlayer ...

  10. CAS和Synchronized

    CAS compareAndSwap 原理 CAS(V,E,N) V表示要更新的变量   E表示预期值   N表示新值 (当前值和底层值一样时候,才更新) 传入的值是工作内存,底层的值是主内存,工作内 ...