Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TreeView и SelectedNodeChanged 
V
    Опции темы
Veitmen
Дата 17.9.2007, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 10.11.2006
Где: СПБ

Репутация: нет
Всего: 4



Всем привет!
Проблема простая. Возможно что то где то упустил...
Есть TreeView. После клика на ноде происходит сначала загрузка формы потом событие Tree_SelectedNodeChanged. При этом в этом событии еще можно действовать на TreeView, то есть открывать узлы и закрывать. 
Короче этот код работае правильно:

Код

protected void Tree_SelectedNodeChanged(object sender, EventArgs e)
        {
            Tree.Nodes[0].Expand();
        }


При клике на нод загружается страница и первый нод раскрыт.

Я хочу сделать что бы тот нод на который кликнули при открытии страницы оставался октрытым.
Т.Е:

Код

protected void Tree_SelectedNodeChanged(object sender, EventArgs e)
        {
            Tree.SelectedNode.Expand();
        }


А теперь объясните почему это не работает. Дебагом прошелся, данные правильные, но вот метод Expand не срабатывает. Почему??
PM MAIL ICQ   Вверх
Bogdan1024
Дата 18.9.2007, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 1
Всего: 13



А где и почему ноды сварачиваются? Они ж вроде сами по себе не сварачиваются если ты вьюстейт не отключал.


--------------------
user posted image
PM MAIL   Вверх
Veitmen
Дата 19.9.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 10.11.2006
Где: СПБ

Репутация: нет
Всего: 4



Цитата(Bogdan1024 @ 18.9.2007,  13:37)
А где и почему ноды сварачиваются? Они ж вроде сами по себе не сварачиваются если ты вьюстейт не отключал.

Хз... У меня он включен.

Добавлено через 2 минуты и 26 секунд
Хм. Вот так вот Открывается сам нод, но не его родители:
Код

protected void Tree_SelectedNodeChanged(object sender, EventArgs e)
        {
            Tree.SelectedNode.Expand();
        }


А надо так:
Код

private void ExpandNode(TreeNode tn)
        {
            while (tn.Parent != null)
            {
                tn = tn.Parent;
                tn.Expand();
            }
        }

protected void Tree_SelectedNodeChanged(object sender, EventArgs e)
        {
            TreeNode tn = Tree.SelectedNode;
            ExpandNode(tn);
            tn.Expand();
        }


Открывается выбранный нод и все его родители.

PM MAIL ICQ   Вверх
atas
Дата 8.12.2008, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Здравствуйте!

 Извеняюсь за поднятие старой темы, но у меня такая же  стоит задача. Я проделал все выше сказанное. Но TreeVew сворачивается в исходное состояние. TreeVew находидся на MasterPage (AJAX на MasterPage не использую, толко на Content Pages)





Код

  protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {
            TreeView1.DataSourceID = "SiteMapDataSource_admin";
            
           // TreeView1.ExpandDepth = 1;
            SiteMapPath1.SiteMapProvider = SiteMapDataSource_admin.SiteMapProvider;

        }
            
    }




    private void ExpandNode(TreeNode tn)
    {
        while (tn.Parent != null)
        {
            tn = tn.Parent;
            tn.Expand();
        }
    }

    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {
        TreeNode tn = TreeView1.SelectedNode;
        ExpandNode(tn);
        tn.Expand();
    }
  

    



Код

 <asp:TreeView ID="TreeView1" runat="server" EnableViewState="true" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged" ExpandDepth="0" >
                                <HoverNodeStyle BackColor="#FFFFC0" />
                                <SelectedNodeStyle BackColor="Orchid" />
                            </asp:TreeView>



В чем может быть проблема?
Заранее спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.