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 ...
随机推荐
- 2015309南皓芯《Java程序设计》实验一(Java开发环境的熟悉)实验报告
一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 步骤一(新建文件夹):打开windows下的cmd → 输入cd Code命令进入Code目录 → 输入md 20 ...
- 20165333 预备作业3 Linux安装及学习
预备作业3 Linux安装及学习 Linux系统安装 在老师的教程帮助下成功的完成了虚拟机的安装,但安装过程中也遇到了一些问题.在下载ubuntu时,总是下载失败,在求助同学后,在中文版官网的网址,才 ...
- java根据日期获取周几和获取某段时间内周几的日期
整理两个日期的方法. 根据日期获取当天是周几 /** * 根据日期获取当天是周几 * @param datetime 日期 * @return 周几 */ public static String d ...
- C#设置窗体中的窗体随主窗体大小变化而变化
form2 f=new form2(); f.Size=this.Size; f.Location=this.Location; f.showdialog(); 作者:耑新新,发布于 博客园 转载请 ...
- VS 2015 序列号/密钥/企业版/专业版
专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
- abtest分流随机链接方法(javascript)
¶¹¸¯¸ÉËêµÄ·¨¹úµçÊÓ¸²¸Ç --> 代码如下 <!DOCTYPE HTML> <html> <head> <script type=& ...
- swift中Double转String
swift上手有好几天了.发现swift除了本身的几个基本类型转换,一些比较特殊的数值类型转换需要“桥接”到Objective-C来进行- 代码当然也很简单- var numString = &quo ...
- 【LOJ】#2320. 「清华集训 2017」生成树计数
题解 我,理解题解,用了一天 我,卡常数,又用了一天 到了最后,我才发现,我有个加法取模,写的是while(c >= MOD) c -= MOD 我把while改成if,时间,少了 六倍. 六倍 ...
- 002 使用Appender扩展logger框架
这个地方,在看公司的源代码的时候,写的知识点: 现在再看,竟然不是太懂,重新写一份新的文档,外加示例说明. 一:说明 1.log4j 环境的三个主要组件: logger(日志记录器):控制要启用或禁用 ...
- 在PHP中gmtime()与time()区别
localtime是把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为本地时间,而gmtime函数转换后的时间没有经过时区变换,是UTC时间.2.说明:此函数获得的tm结构体的时间是日历 ...