|
|
|
 |
 |
Исходник |
 |
|
 |
 |
|
Автор:
|
|
|
Название:
|
Сохранение состояния 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 |
|
|
 |
 |
 |
 |
|
|