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;
}
}
}
});
Extjs GridPanel 监听事件 行选中背景的更多相关文章
- Android中Button的五种监听事件
简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activ ...
- Vue 为什么在 HTML 中监听事件?
为什么在 HTML 中监听事件? 你可能注意到这种事件监听的方式违背了关注点分离(separation of concern)传统理念.不必担心,因为所有的 Vue.js 事件处理方法和表达式都严格绑 ...
- jquery中,使用append增加元素时,该元素的绑定监听事件失效
举例:如果在一个<div id="resultArea"></div>中,通过append添加一个id="checkOutTip"的文本 ...
- jquery中,使用append增加新元素时,新增元素的绑定监听事件失效的解决办法
$("outerSelector").on("eventType","innerSelector",function(){}); 举例:如果 ...
- Vue子组件监听事件中传递参数的方法
在子组件中,我们可以通过以下方式监听事件: v-on:click="$emit('funcName',a)" 如果需要传多个参数,可以通过以下方式: v-on:click=&quo ...
- EditText中onEditorAction监听事件执行两次
Android的EditText通过setOnEditorActionListener给文本编辑框设置监听事件,但是在其处理方法onEditorAction中的逻辑在每次回车后都触发了两次, 原来是在 ...
- java中的监听事件
java监听器实现的类 1.ServletContextListener:对servlet上下文的创建和销毁监听 2.ServletContextAttributeListener:监听servlet ...
- 关于AngularJs中监听事件及脏循环的理解
可能很多刚入行或者刚学习的前端对于AngularJs中的一些事件或者概念感觉不理解或者没有思路,今天让我们一起来剖析一下AngularJs中的一些事件. AngularJs中对于的监听事件会用到一个s ...
- vue 中监听窗口发生变化,触发监听事件, window.onresize && window.addEventListener('resize',fn) ,window.onresize无效的处理方式
// 开始这样写,不执行 window.onresize = function() { console.log('窗口发生变化') } // 改成window监听事件 window.addEventL ...
随机推荐
- Java 之 JDBC
mysql : //****** 四大金刚: 驱动类名.url.用户名.密码 //MySQL四大金刚 String driverClassname="com.mysql.jdbc.Drive ...
- Centos 7.2 安装 Python 3.5(适用于Python 3所有版本安装)
提示:我们必须不能破坏系统的环境.因为几个关键的应用程序依赖于Python 2.7.5(centos 7默认版本).如果替换了系统的Python环境就会发生很多难以预见的错误,甚至要重装系统. 安装前 ...
- URLconf+MTV:Django眼中的MVC
MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器).其中: M 管理应用程序的状态(通常存储 ...
- GTK, GTK+, Qt, KDE, GNOME, Unity的区别与联系
GTK,GTK+, Qt是图形界面开发库(GUI Toolkit),用户可以使用这些开发库编写GUI应用,其中GTK+是GTK的升级版. KDE,GNOME,Unity是linux下的桌面环境(Des ...
- Hadoop Hive概念学习系列之hive里的JDBC编程入门(二十二)
Hive与JDBC示例 在使用 JDBC 开发 Hive 程序时, 必须首先开启 Hive 的远程服务接口.在hive安装目录下的bin,使用下面命令进行开启: hive -service hives ...
- JAVAEE——SSH项目实战03:新增客户、数据字典、文件上传和修改客户
作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7145599.html 一.新增客户 1.数据字典 用于枚举项目中有限个数的字典项 (1 ...
- 论 ArrayList如何实现线程安全
一:使用synchronized关键字 二:使用Collections.synchronizedList(); 假如你创建的代码如下:List<Map<String,Object>& ...
- 让Xcode8.0支持iOS11.2设备真机测试
最新支持11.2 (15C5097c)! 11.1 全版本! Xcode只可以支持iPhone手机对应iOS系统以下的真机测试.一般想要支持最新的iPhone手机系统,有两个方法. 第一.就需要更新X ...
- 防止sql注入的几种方法
一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...
- python线程join
几个事实 1 python 默认参数创建线程后,不管主线程是否执行完毕,都会等待子线程执行完毕才一起退出,有无join结果一样 2 如果创建线程,并且设置了daemon为true,即thread.se ...