RE:Mantener el Foco en Treeview
En una clase(En mi caso se llama Común) se crea esto:
Public Shared Sub MantenerFocoTreeview(ByVal tv As TreeView, _
ByVal pnl As Panel, _
ByVal pagina As Page, _
ByVal NombreScript As String)
'Mantiene foco dentro de un Treeview
'Recibe el Nombre del Treeview, el Panel q lo contiene
'El NOmbre de la página y el nombre del script
'(Este nombre se db llamar en el evento onload del body de la page)
Dim Script As New System.Text.StringBuilder
Script.Append("function Mantener" + NombreScript + "()")
Script.Append("{{")
Script.Append("try")
Script.Append("{{")
Script.Append("var elem = {0}_Data.selectedNodeID;")
Script.Append("if(elem != null )")
Script.Append("{{")
Script.Append("var node = document.getElementById(elem.value);")
Script.Append("if(node != null)")
Script.Append("{{")
Script.Append("node.scrollIntoView(true);")
Script.Append("{1}.scrollLeft = 0;")
Script.Append("}}")
Script.Append("}}")
Script.Append("}}")
Script.Append("catch(oException)")
Script.Append("{{}}")
Script.Append("}}")
Script.Append("")
pagina.ClientScript.RegisterOnSubmitStatement(pagina.GetType(), _
NombreScript, _
String.Format(Script.ToString, tv.ClientID, pnl.ClientID))
End Sub
' Se llamaría asi desde una determinada página en el evento Page_Load de la página donde se encuentra el Treeview, este db estar dentro de un panel para que funcione.
Comun.MantenerFocoTreeview(tvModulos, pnlModulos, Me, "tvModulos")
Espero te sirva.
Hasta Pronto