Faire une barre de défilement Aller à l'enregistrement sélectionné dans TreeView ASP.Net

StackOverflow https://stackoverflow.com/questions/2344919

  •  23-09-2019
  •  | 
  •  

Question

J'ai un contrôle TreeView qui obtient peuplé à l'exécution avec une pyramide des noms des employés. Je mets la barre de défilement css sur la vue en mettant overflow:. Auto » dans la balise où le TreeView est situé Les utilisateurs me demandent maintenant d'avoir la barre de défilement descendre dans l'arborescence où un élément de TreeView est sélectionné

.

Comment puis-je faire une barre de défilement pour aller à un endroit où la vue arborescente a été sélectionné?

Note: treeView1.SelectedNode.EnsureVisible ();

n'est pas disponible en asp.net besoin d'une autre façon.

Pas de solution correcte

Autres conseils

Vous aurez besoin d'un javascript sur mesure et un code-behind. Commencez par utiliser la méthode JS trouvé ici pour obtenir l'ID client de TreeNode:

function GetTreeNodeID(nodeTooltip)
{
    var tree = document.getElementById(TreeView.ClientID); // Change TreeView ClientID.
    var treeLink =  tree.getElementsByTagName('A');    

    for(var element in treeLink)
        if((nodeTooltip == treeLink[element].title) && (treeLink[element].title != ""))                      
            return treeLink[element].id;
}

Ensuite, dans votre code-behind, vous pouvez enregistrer un script de démarrage pour faire défiler votre div au treenode en utilisant la méthode scrollIntoView() javascript:

Dim script As String = String.Format("var treeNode = GetTreeNodeID('{0}');  treeNode.scrollIntoView();", myTreeNode.Tooltip)
Page.ClientScript.RegisterStartupScript("scrollScript", script)

Le JavaScript follwoing devrait aider:

var selected = document.getElementById(node_id);
if (selected) {
   selected.scrollIntoView(true);
}

Si vous sélectionnez le nœud déclencherait un postback, que d'essayer:

<%@ Page Title="" Language="C#" MaintainScrollPositionOnPostback="true"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top