1. Script
<Script language = "JavaScript" type = "text/JavaScript">
Function client_ontreenodechecked (Event)
{
VaR OBJ;
If (event. srcelement! = NULL)
{
OBJ = event. srcelement;
}
Else
{
OBJ = event.tar get;
}
VaR treenodefound = false;
VaR checkedstate;
If (obj. tagname = "input" & obj. type = "checkbox ")
{
VaR treenode = OBJ;
Checkedstate = treenode. checked;
Do
{
OBJ = obj. parentnode;
} While (obj. tagname! = "Table ")
VaR parenttreelevel = obj. Rows [0]. cells. length;
// Var parenttreenode = obj. Rows [0]. cells [0];
VaR tables = obj. parentnode. getelementsbytagname ("table ");
VaR numtables = tables. Length
If (numtables> = 1)
{
Godeeperunchecked (OBJ );
For (I = 0; I <numtables; I ++)
{
If (tables [I] = OBJ)
{
Treenodefound = true;
I ++;
If (I = numtables)
{
Return;
}
}
If (treenodefound = true)
{
VaR childtreelevel = tables [I]. Rows [0]. cells. length;
If (childtreelevel> parenttreelevel)
{
VaR cell = tables [I]. Rows [0]. cells [childtreelevel-1];
VaR inputs = cell. getelementsbytagname ("input ");
Inputs [0]. Checked = checkedstate;
}
Else
{
Return;
}
}
}
}
}
}
Function godeeperunchecked (OBJ)
{
VaR CHK1 = false;
// Get the mom.
VaR head1 = obj. parentnode. previussibling;
// No rows, cant do my work.
If (obj. rows = NULL)
{
Return;
}
// This Is How may rows are at this level.
VaR ptreelevel1 = obj. Rows [0]. cells. length;
// Are we a mommy?
If (head1.tagname = "table ")
{
// Get the list of rows ahead of us.
VaR Tsung = obj. parentnode. getelementsbytagname ("table ");
// Get the Count of that list.
VaR tblscount = tstrap. length;
// Determine if any of the rows underneath are unchecked.
For (I = 0; I <tblscount; I ++)
{
VaR childtreelevel = Tsung [I]. Rows [0]. cells. length;
If (childtreelevel = ptreelevel1)
{
VaR chld = Tsung [I]. getelementsbytagname ("input ");
If (chld [0]. Checked = false)
{
Chk1 = false;
Godeeperunchecked (head1); // recursive upward judgment
Break;
}
}
}
VaR nD = head1.getelementsbytagname ("input ");
Nd [0]. Checked = CHK1;
// Do the same for the level above
Godeeperunchecked (obj. parentelement );
}
Else
{
Return;
}
}
</SCRIPT>
2. Use
<Asp: Treeview id = "tvwebsite" Onclick = "client_ontreenodechecked (event );" Runat = "server">
<Selectednodestyle backcolor = "Silver" forecolor = "white"/>
</ASP: Treeview>