:: Forum >> Version 1 >>

Highlighting on a diagonal

I want to be able to click a column header and highlight (red borders) a diagonal line starting at that header. So far I have disabled the sorting and I am able to get the index number of the header. The probelm is I can't figure out a way to highlight the cells.

Just to be clear, if header '1' was clicked: row 0 column 1 would highlight, then row 1 column 2, then row 2 column 3 etc. all the way down until the last row has been reached.
BenjaminS
Monday, February 20, 2006
Just to answer my own question, here is the code:

obj.onCellClicked = function cellClickedOn(eventcolrow){
            
//****clear out old highlight
            
while(lasti>=&& lastj>=0)    {                
                
obj.getCellTemplate(lastilastj).setStyle("border""1px solid threeddarkshadow");
                
lasti--;
                
lastj--;
            }
            
            while(
lasti2>=&& lastj2<obj.getRowCount())    {                
                
obj.getCellTemplate(lasti2lastj2).setStyle("border""1px solid threeddarkshadow");
                
lasti2--;
                
lastj2++;
            }
                        
            
i=col*1;
            
j=row*1;
            
i2=col*1;
            
j2=row*1;
            
            
//****get to top end of diagonal
            
while(i>=&& j>=0)    {                
                
i--;
                
j--;
            }
            
//****highlight diagonal
            
while(i<obj.getColumnCount() && j<obj.getRowCount())    {                
                
obj.getCellTemplate(i,j).setStyle("border""3px solid red");
                
i++;
                
j++;
            }
            
lastj=j-1;
            
lasti=i-1;
            
                        
//****get to top end of diagonal
            
while(i2>=&& j2<obj.getRowCount())    {                
                
i2--;
                
j2++;
            }
            
//****highlight diagonal
            
while(i2<obj.getColumnCount() && j2>=0)    {                
                
obj.getCellTemplate(i2,j2).setStyle("border""3px solid orange");
                
i2++;
                
j2--;
            }
            
lastj2=j2-1;
            
lasti2=i2+1;    
            
            
obj.getCellTemplate(col,row).setStyle("border""3px solid yellow");
        }; 
Inot a diagonal, but an "X", and when you click another square it makes the old "X" disappear by making its borders the same as the default(or what I had them set to).
Ben
Thursday, February 23, 2006



This topic is archived.

Back to support forum

Forum search