Custom Cells with dataprocessor

I have a grid with a custom cell type (code below) that changes the cells background color based on inputted value. This works great until I attach a dataprocessor to the grid then It no longer changes the background color.



I am using v.2.1 build 90226



How can I change the cells background while using a dataprocessor?



Thanks in advance,



function eXcell_colors(cell){

    if (cell){

        this.cell=cell;

        this.grid=this.cell.parentNode.grid;

    }

    this.getValue=function(){

        //this.grid.editStop();

        if ((this.cell.firstChild)&&(this.cell.firstChild.tagName == “TEXTAREA”))

            return this.cell.firstChild.value;



        if (this.cell._clearCell)

            return “”;



        return this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(), this.cell._cellIndex);

    }

        this.detach=function(){

            var tv = this.obj.value;

            this.setValue(tv);

            return this.val != this.getValue();

        }

    }

    

    eXcell_colors.prototype=new eXcell_ed;

    eXcell_colors.prototype.setValue=function(val){

        if (!val||val.toString()._dhx_trim() == “”){

            val=“0”

            this.cell._clearCell=true;

        } else

            this.cell._clearCell=false;

    

        this.setCValue(this.grid._aplNF(val, this.cell._cellIndex));

        if (val==0) this.cell.style.backgroundColor="";

         else if(val==1)this.cell.style.backgroundColor=“green”;

         else if(val==2)this.cell.style.backgroundColor=“blue”;

         else if(val==3)this.cell.style.backgroundColor=“purple”;

         else if(val==4)this.cell.style.backgroundColor=“yellow”;

        else if(val==5)this.cell.style.backgroundColor=“orange”;

        else if(val==6)this.cell.style.backgroundColor=“cyan”;

        else if(val==7)this.cell.style.backgroundColor=“pink”;

        else if(val==8)this.cell.style.backgroundColor=“grey”;

        else if(val==9)this.cell.style.backgroundColor=“darkseagreen”;

        else this.cell.style.backgroundColor=“red”;

    }

The dataprocessor must not block normal cell coloring in your case, but during row update it may reset colors to normal state.
As possible workaround you can block code of dataprocessor, which changes the look of updated row, by using the next code

dp.attachEvent(“onRowMark”,function(){
return false;
})

where dp - an instance of dataprocessor.