当前位置: 澳门新濠3559 > 服务器运维 > 正文

同时恢复除当前行外的行的颜色及鼠标事件,/

时间:2019-12-26 07:51来源:服务器运维
这段JS放在head中 复制代码 代码如下://点击当前选中行的时候设置当前行的颜色,同时恢复除当前行外的行的颜色及鼠标事件function selectRow { var sTable = document.getElementById for(vari=1;i复制代

这段JS放在head中 复制代码 代码如下: //点击当前选中行的时候设置当前行的颜色,同时恢复除当前行外的行的颜色及鼠标事件 function selectRow { var sTable = document.getElementById for(var i=1;i复制代码 代码如下:

EXTJS GRID 中 单击行和单元格获得行或者单元格的内容(数据)
Js代码

复制代码 代码如下: /// /// //引入DataBinder.js include; /*

服务事项 N 状态 办结 资料
相关内容
相关内容
相关内容
相关内容

复制代码 代码如下:

grid.addListener('cellclick',cellclick);
function cellclick(grid, rowIndex, columnIndex, e) {
var record = grid.getStore().getAt(rowIndex); //Get the Record
var fieldName = grid.getColumnModel().getDataIndex(columnIndex); //Get field name
同时恢复除当前行外的行的颜色及鼠标事件,//行点击时颜色。var data = record.get(fieldName);
Ext.MessageBox.alert('show','当前选中的数据是'+data);
}
grid.addListener('cellclick',cellclick);
function cellclick(grid, rowIndex, columnIndex, e) {
var record = grid.getStore().getAt(rowIndex); //Get the Record
var fieldName = grid.getColumnModel().getDataIndex(columnIndex); //Get field name
var data = record.get(fieldName);
Ext.MessageBox.alert('show','当前选中的数据是'+data);
}

*/ function Table(){ this.elmTable=null; //表格标签 this.templetRow=null; //模板行 this.displayBody=null; //显示区tbody标签 this.isOverChange=false; //鼠标移过时,是否改变颜色 this.hoverColor="#EBF3FD"; //鼠标移过颜色 this.isActiveChange=false; //行点击时,是否改变颜色 this.activeColor="#D9E8FB"; //行点击时颜色 this.activeRow=null; //当前活动行 } Table.prototype = { //设置鼠标移过时,是否改变颜色 SetOverChange: function { this.isOverChange = bOverChange; }, //设置行点击时,是否改变颜色 SetActiveChange: function { this.isActiveChange = bActiveChange; }, //绑定表格对象 BindElement: function { this.elmTable = elm; Event.observe(this.elmTable, "mouseover", this.onMouseOver.bindAsEventListener; Event.observe(this.elmTable, "mouseout", this.onMouseOut.bindAsEventListener; Event.observe(this.elmTable, "click", this.onMouseClick.bindAsEventListener; var tbody = this.elmTable.tBodies[0]; //取其第一个tbody为模板 this.templetRow = tbody.rows[0]; //取该tbody中的第一行为模板 this.elmTable.removeChild; this.displayBody = document.createElement; //创建显示区tbody this.elmTable.appendChild; //添加到表格中 }, //绑定表格的ID BindID: function { var elm = document.getElementById; this.BindElement; }, _getEventRow: function { var elm = Event.element; if return null; while (elm.tagName.toLowerCase { elm = elm.parentNode; if (elm == this.elmTable || elm == null) return null; } if (elm.parentNode != this.displayBody) return null; return elm; }, //鼠标移过时事件响应 onMouseOver: function { var row = this._getEventRow return; if { row.style.backgroundColor = this.hoverColor; //改变颜色 } }, //鼠标移出时事件响应 onMouseOut: function { var row = this._getEventRow return; if { if (row == this.activeRow) { //如果当前行是活动行,设置活为动行颜色 row.style.backgroundColor = this.activeColor; } else { //设置为模板行颜色 row.style.backgroundColor = row.backgroundColor; } } }, //行点击事件响应 onMouseClick: function { var row = this._getEventRow return; if { if (this.activeRow != null) { //恢复原活动行颜色 this.activeRow.style.backgroundColor = this.activeRow.backgroundColor; } //设置活动行颜色 row.style.backgroundColor = this.activeColor; //设置当前行为活动行 this.activeRow = row; } }, //新增一行,该行结构与模板行一致 NewRow: function { var _this = this; var newRow = this.templetRow.cloneNode; //将模板行进行深层拷贝 newRow.backgroundColor = newRow.style.backgroundColor; //添加到表格显示区中 if (bAdd == true || bAdd == null) { this.displayBody.appendChild; } return newRow; //返回新行 }, //取得所有行 GetRows: function() { return this.displayBody.rows; }, //清空所有行 Clear: function() { var newTbody = document.createElement; this.elmTable.replaceChild(newTbody, this.displayBody); this.displayBody = newTbody; }, //删除一行 DeleteRow: function { this.elmTable.deleteRow; if (row == this.activeRow) { this.activeRow = null; } }, //以下标为参数,删除一行 DeleteAt: function { this.displayBody.deleteRow; var rows = this.GetRows(); if (rows[index] == this.activeRow) { this.activeRow = null; } }, //添加一行 AddRow: function { this.displayBody.appendChild; }, onBinding: function { }, // 数据绑定 BindData: function { var _this = this; this.Clear(); this.repeater = new Repeater(); this.repeater.setMapList; this.repeater.defaultCreateItem = function() { var row = _this.NewRow; return row; }; this.repeater.setDataList; this.repeater.setContainer; this.repeater.Bind(); } }; 使用示例代码: 复制代码 代码如下:


姓名 性别 年龄 操作
男 女 保存 查看

Js代码

手动产生数据的例子,该例如果要实现以上动态编辑、数据保存的功能的话,则还要添加更多的代码才能实现,一般不推荐使用这种方法 复制代码 代码如下:

复制代码 代码如下:

姓名 性别 年龄 操作
查看

grid.on('mouseover',function(e){//添加mouseover事件
var index = grid.getView().findRowIndex(e.getTarget());//根据mouse所在的target可以取到列的位置
if(index!==false){//当取到了正确的列时,(因为如果传入的target列没有取到的时候会返回false)
var record = store.getAt(index);//把这列的record取出来
var str = Ext.encode(record.data);//组装一个字符串,这个需要你自己来完成,这儿我把他序列化
var rowEl = Ext.get(e.getTarget());//把target转换成Ext.Element对象
rowEl.set({
'ext:qtip':str //设置它的tip属性
},false);
}
});
grid.on('mouseover',function(e){//添加mouseover事件
var index = grid.getView().findRowIndex(e.getTarget());//根据mouse所在的target可以取到列的位置
if(index!==false){//当取到了正确的列时,(因为如果传入的target列没有取到的时候会返回false)
var record = store.getAt(index);//把这列的record取出来
var str = Ext.encode(record.data);//组装一个字符串,这个需要你自己来完成,这儿我把他序列化
var rowEl = Ext.get(e.getTarget());//把target转换成Ext.Element对象
rowEl.set({
'ext:qtip':str //设置它的tip属性
},false);
}
});


Js代码

复制代码 代码如下:

listeners: {
'cellclick':function(grid,rowIndex,columnIndex,e ){ }
}
//这是单击grid单元格时,触发的事件
listeners: {
'cellclick':function(grid,rowIndex,columnIndex,e ){ }
}
//这是单击grid单元格时,触发的事件
Js代码
grid.getView().getCell(rowIndex,columnIndex).style.background-color="#FF6600";
grid.getView().getCell(rowIndex,columnIndex).style.color="#FF6600";
grid.getView().getCell(rowIndex,columnIndex).style.background-color="#FF6600";
grid.getView().getCell(rowIndex,columnIndex).style.color="#FF6600";

我要改变都是整个背景色,不是光是字的颜色。还有怎么能点一个单元格时候,让上次的点的单元格颜色恢复到原来呢???
把表格刷新下可以把以前单击而改变的颜色还原,grid.getView().refresh(); 然后再让这次单击的单元格变色。
Js代码

复制代码 代码如下:

grid.getView().refresh();
grid.getView().getCell(rowIndex,columnIndex).style.backgroundColor="#FF9999";

GRID 中 单击行和单元格获得行或者单元格的内容(数据) Js代码 复制代码 代码如下: grid.addListener('cellclick',cellclick); function cellclick(grid, r...

编辑:服务器运维 本文来源:同时恢复除当前行外的行的颜色及鼠标事件,/

关键词: