您的位置:首页 > 产品设计 > UI/UE

dhtmlxgrid 自定义单元格 edit getValue setValue 事件

2012-06-04 23:59 253 查看
在国内,关于dhtmlxgrid的用法,介绍的不多,由于项目上用到,我自定义单元格的时候,重写edit事件的时候,遇到了好多的问题,如,我点击单元格的时候进于编辑状态的时候,单元格的值取不到,边为空,或光标离开的时候,单元格还是处于选中的状态,经过很久的调试,终于调好,在此,贴出代码,希望给遇到同样的朋友带去一点帮助。

//自定义单元格类型_方案上报类型

function eXcell_scheType(cell){

this.base = eXcell_ed;

this.base(cell)

var SCHEME_NAME="";

this.getValue=function(){

return cell.firstChild.value;

}

this.detach=function(){ //此事件也要写上不然网页会报错的(ie8);

//this.setValue(this.cell.firstChild.value);

return this.cell.firstChild.value;

}

this.edit=function(){

var edCell=(this.cell.innerHTML.toString()).indexOf("<");

if(edCell>0){

var cellV = cell.innerHTML.substring(0,edCell);

this.cell.innerHTML="<input type='text' id='cl'/>"; //save current value

this.cell.firstChild.value=cellV;

// this.cell.firstChild.innerHTML=cellV;

}else{

var flag_r=this.cell.innerHTML;

this.cell.innerHTML="<input type='text' id='cl'/>";

this.cell.firstChild.value=flag_r;

//this.cell.firstChild.innerHTML=SCHEME_NAME;

}

}

this.setValue = function(val){

//先查出方案的名称

var sqlStm="select s.OPERATE_SCHEME_NAME from MODEL_OPERATE_SCHEME s where s.SCHEME_ID='"+val+"'";

//alert(sqlStm);

DWREngine.setAsync(false);

db2Json.selectSimpleData(sqlStm,function(data){

SCHEME_NAME=eval(data);

//alert("yyyy "+SCHEME_NAME[][0]);

var sql="select SCHEME_TYPE from model_sendmanage_unit t where t.UNIT_ID='"+g_unitId+"' and t.USER_ID='"+USERID+"' and t.MODEL_ID='"+g_metaModelId+"' and t.SCHEME_ID='"+val+"'";

db2Json.selectSimpleData(sql,function(dat){

var flag=eval(dat);

var schemeFlag="";

for(var i=0;i<flag.length; i++){

for (j=0; j < flag[i].length; j++)

{

schemeFlag=flag[i][j];

if(schemeFlag=="1"){

SCHEME_NAME=SCHEME_NAME+"<span style='color: #f00;'>已经上传为高方案</span>";

}else if("2"==schemeFlag){

SCHEME_NAME=SCHEME_NAME+"<span style='color: #f00;'>已经上传为中方案</span>";

}else if("3"==schemeFlag){

SCHEME_NAME=SCHEME_NAME+"<span style='color: #f00;'>已经上传为低方案</span>";

}

}

}

cell.innerHTML=SCHEME_NAME;

});

});

DWREngine.setAsync(true);

}

}

eXcell_scheType.prototype = new eXcell_ed;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐