Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

Bormotun

 
Название:

Сохранение состояния TreeView на Master Page

Дата: 28 January 2009
Описание: Довольно типовая задача когда TreeView в РЕЖИМЕ НАВИГАЦИИ (т.е. когда отключено событие SelectedNodeChanged) на Master Page сохранять его состояние 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=244]Сохранение состояния TreeView на Master Page[/CODEPOST]
Оценка: Проголосовало 7 посетителей, средняя оценка 4.14
Оценить:
  1 private void SaveTreeViewState(TreeNodeCollection nodes, List<string> list)
  2     {        
  3         foreach (TreeNode node in nodes)
  4         {
  5             if (node.ChildNodes != null && node.ChildNodes.Count != 0)
  6             {
  7                 if (node.Expanded.HasValue && node.Expanded == true && !String.IsNullOrEmpty(node.Text))
  8                     list.Add(node.Text);
  9                 SaveTreeViewState(node.ChildNodes, list);
 10             }
 11         }
 12     }
 13 
 14 
 15     private void RestoreTreeViewState(TreeNodeCollection nodes, List<string> list)
 16     {
 17         foreach (TreeNode node in nodes)
 18         {           
 19             if (list.Contains(node.Text))
 20             {
 21                 if (node.ChildNodes != null && node.ChildNodes.Count != 0 && (node.Expanded == false || node.Expanded == null))
 22                     node.Expand();
 23             }
 24             else
 25             {
 26                 if (node.ChildNodes != null && node.ChildNodes.Count != 0 && (node.Expanded == true || node.Expanded == null))
 27                     node.Collapse();
 28             }          
 29             if (node.ChildNodes != null && node.ChildNodes.Count != 0)
 30                 RestoreTreeViewState(node.ChildNodes, list);
 31         }
 32     }
 33 
 34     
 35     protected void trvMenu_DataBound(object sender, EventArgs e)
 36     {
 37         if (!IsPostBack)
 38         {
 39             if (Session["TreeViewState"] != null)
 40             {
 41                 List<string> list = (List<string>)Session["TreeViewState"];
 42                 RestoreTreeViewState(trvMenu.Nodes, list);
 43             }
 44         }
 45     }
Вернуться к списку исходников в категории Общие вопросы программирования на ASP.NET
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта