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

      在国内,关于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;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值