asp.net TreeView Развернуть вопрос - PullRequest
1 голос
/ 01 сентября 2010

надеюсь, вы поможете мне, я думаю, простая проблема TreeView Expand.

У меня есть элемент управления TreeView в моей MasterPage, и моя глубина по умолчанию равна 2, и я вижу, что, когда я нажимаю на более глубокий узел, он продолжает расширяться .. Но когда я перенаправил на другую страницу, узел свернулся.

У меня проблема с кодом, который предполагает расширение узла.

TreeNode thisNode = tvCategories.FindNode(Session["SelectedCIDValPath"].ToString());
if (thisNode != null)
{
    thisNode.Selected = true;
    thisNode.Expand();
    thisNode.Select();
    thisNode.Expanded = true;
    lbl.Text = "valupath: " + Session["SelectedCIDValPath"].ToString();
}

как видите, я перепробовал все возможные свойства и методы, чтобы сохранить более глубокий узел расширенным, но он не работает.

Пожалуйста, помогите мне? Большое вам спасибо

1 Ответ

0 голосов
/ 01 сентября 2010

Случай (и я нахожу это немного расстраивающим), что расширение узла также не вызывает расширения родительских узлов.Чтобы обеспечить расширение узла, необходимо также обеспечить расширение родительских узлов.Я держу метод расширения под рукой для этой цели:

public static void EnsureExpanded(this TreeNode node)
{
    if (node != null)
    {
        EnsureExpanded(node.Parent);
        node.Expand();
    }
}

Вы можете использовать расширение следующим образом:

TreeNode thisNode = tvCategories.FindNode(Session["SelectedCIDValPath"].ToString());
thisNode.EnsureExpanded();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...