• Extjs GridPanel 监听事件 行选中背景


     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;
                                }    
                          }
                     }
        });
  • 相关阅读:
    java怎样将一组对象传入Oracle存储过程
    android webview内容压线问题解决方法
    BS和CS对比
    【OpenCV-Python】Python Extension Packages for Windows
    hdu4462 Scaring the Birds
    tomcat安全配置之证书密码加密存储
    UVA 10714 Ants 蚂蚁 贪心+模拟 水题
    一个不喜欢读书的Javaer的读书单
    二叉树可视化--Graphviz
    [置顶] mmog游戏开发之业务篇
  • 原文地址:https://www.cnblogs.com/mingforyou/p/3560180.html
Copyright © 2020-2023  润新知