This is a migrated thread and some comments may be shown as answers.

[Solved] Css class not changing when applied from java script.

1 Answer 172 Views
TreeView
This is a migrated thread and some comments may be shown as answers.
Fabin
Top achievements
Rank 1
Fabin asked on 24 Jun 2008, 02:21 PM
Hello,

I  am trying to change the css class set for  a node of treeview(from serverside) by using javascript from client side.But the node does not apply the style.

My code is as below :
 <telerik:RadTreeView ID="tvwCategory"  runat="server" AllowNodeEditing="true" OnClientNodeEdited="checkLength"
               CheckBoxes="True" EnableEmbeddedSkins="True"
               EnableTheming="False" OnClientNodeExpanding="fillChildNodes" OnClientNodeChecked="clientNodeChecked">
              </telerik:RadTreeView>

my js function on node editing is as follows:

function checkLength(sender,eventArgs)
{
    var sValueSeparator = "&";
    var sRecordSeparator ="$";
    var iTextChanged =1;
   
      
    //getting  the value       
    var sNodeValue = eventArgs.get_node().get_value();
   
    //getting the text
    var sNewText = eventArgs.get_node().get_text();
   
    //preparing the new variable
    var sKey = sNodeValue+sValueSeparator+sNewText+sRecordSeparator;
   
    //alert(document.getElementById("ctl00_mainPageContent_hidEditedText"));   
   
    //inserting text and  value to hidden field
    var sOldvalue = document.getElementById("ctl00_mainPageContent_hidEditedText").value;
   
    document.getElementById("ctl00_mainPageContent_hidEditedText").value=sOldvalue +sKey;
      
    var arrNodeValue = sNodeValue.split(";");
   
    var ichildNodesCount = eventArgs.get_node().get_nodes().get_count();
                    
   
     if(sNewText.length > 50)
     {
        alert('You have have exceeded the maimum text limit');
        eventArgs.get_node().set_text(Left(sNewText,50));
     }
    
     document.getElementById("ctl00_mainPageContent_hidUnSaved").value= iTextChanged;
            
     if( arrNodeValue[0] == 'N' && ichildNodesCount ==0 )
       { 
           var sNodeId = 'btnNodeEdit'+'_'+sNodeValue+'_'+sNewText;
           __doPostBack(sNodeId,'')
         
       }  
            
        eventArgs.get_node().set_cssClass("TableBorder");
        //eventArgs.get_node().set_text(eventArgs.get_node().get_text());
                 
 }



here eveen if i set the nodes css class it is  not getting rendered.



Pls help.

thanks and regards,
Fabin Xavier

1 Answer, 1 is accepted

Sort by
0
Simon
Telerik team
answered on 26 Jun 2008, 05:36 PM
Hello Fabin,

The CSS class is rendered but on the div element which holds the rest of the Node's elements. Maybe the CSS style is not correctly defined or is overridden and because of this does not get applied.

Could you check this? Or if it is possible, could you paste also the CSS class TableBorder here?

Regards,
Simon
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
Tags
TreeView
Asked by
Fabin
Top achievements
Rank 1
Answers by
Simon
Telerik team
Share this question
or