zoukankan
html css js c++ java
TreeView状态保存
很多时候会看到,使用Treeview的时候展开这个节点,到另外一个页面的时候Treeview的状态又恢复了,下面就是解决方法咯
新建一个类
public
class
TreeViewState
...
{
public
void
SaveTreeView(TreeView treeView,
string
key)
...
{
List
<
bool
?>
list
=
new
List
<
bool
?>
();
SaveTreeViewExpandedState(treeView.Nodes, list);
HttpContext.Current.Session[key
+
treeView.ID]
=
list;
}
private
void
SaveTreeViewExpandedState(TreeNodeCollection nodes, List
<
bool
?>
list)
...
{
foreach
(TreeNode node
in
nodes)
...
{
list.Add(node.Expanded);
if
(node.ChildNodes.Count
>
0
)
...
{
SaveTreeViewExpandedState(node.ChildNodes, list);
}
}
}
private
int
RestoreTreeViewIndex;
public
void
RestoreTreeView(TreeView treeView,
string
key)
...
{
RestoreTreeViewIndex
=
0
;
RestoreTreeViewExpandedState(treeView.Nodes,
(List
<
bool
?>
)HttpContext.Current.Session[key
+
treeView.ID]
??
new
List
<
bool
?>
());
}
private
void
RestoreTreeViewExpandedState(TreeNodeCollection nodes, List
<
bool
?>
list)
...
{
foreach
(TreeNode node
in
nodes)
...
{
if
(RestoreTreeViewIndex
>=
list.Count)
return
;
node.Expanded
=
list[RestoreTreeViewIndex
++
];
if
(node.ChildNodes.Count
>
0
)
...
{
RestoreTreeViewExpandedState(node.ChildNodes, list);
}
}
}
}
在页面代码,TreeView的控件里事件里写
protected
void
TreeViewMain_Unload(
object
sender, EventArgs e)
...
{
//
save the state of all nodes.
new
TreeViewState().SaveTreeView(TreeViewMain,
this
.GetType().ToString());
}
查看全文
相关阅读:
POJ 3281 /// 最大流
POJ Evacuation /// 二分图最大匹配
POJ 3041 /// 二分图匹配
Codeforces Round #526 D
Codeforces Round #526 C
2018ICPC焦作 F. Honeycomb /// BFS
2018ICPC焦作 D-Keiichi Tsuchiya the Drift King /// 几何
Codeforces Round #525 E
哈理工赛 H-小乐乐学数学 /// 筛法得素数表+树状数组
Codeforces Round #525 D
原文地址:https://www.cnblogs.com/javabin/p/1583003.html
最新文章
leetcode算法题目-每日气温
公众云openstack Fujitsu存储相关的tcp确认机制
Solaris 10 的cron
Solaris 10 资源使用异常确认
Solaris 10 多路径
Solaris 10 镜像同步维护
Fujitsu M5000更换IOU
PMCC性能测试软件使用方法
一卡多号Fujitsu DX90S2存储性能问题
Fujitsu M9000更换XSCF卡
热门文章
Fujitsu 零散记录
代码生成
linux使用
数据库查询集合排序
新概念
优秀的软件工程师该具备的十种能力(转)
专注训练
逻辑推理
需求分析技巧
英文单词
Copyright © 2011-2022 走看看
很多时候会看到,使用Treeview的时候展开这个节点,到另外一个页面的时候Treeview的状态又恢复了,下面就是解决方法咯
新建一个类
在页面代码,TreeView的控件里事件里写