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());
}
查看全文
相关阅读:
产品管理:启示录 特约客户、产品验证、原型测试
我对敏捷个人培训的“三不原则”
《敏捷个人》周刊 第2期 (可下载)
《敏捷个人》周刊 第7期 (可下载)
敏捷个人2012.6月份线下活动报道:与北邮学子交流职业和成长
《敏捷个人》周刊 第11期 (可下载)
敏友的【敏捷个人】有感(15): 初探敏捷个人和敏捷开发的感想
敏友的【敏捷个人】有感(14): 敏捷个人管理的历程
从0开始在Android下开发生活方向盘应用(自绘雷达图)
OpenExpressApp:OEA框架 2.9 PreAlpha 源码公布
原文地址:https://www.cnblogs.com/javabin/p/1583003.html
最新文章
《敏捷个人》周刊 第10期 (可下载)
父与子完整版
敏捷个人书籍,目录初稿,欢迎发表看法
敏捷个人2012.5月份户外活动报道:0费用京郊经典户外路线【京西古道】
2012年7月敏捷个人俱乐部北京线下沙龙我心中的敏捷个人活动报道
《敏捷个人》周刊 第4期 (可下载)
《敏捷个人》周刊 第6期 (可下载)
【跟金根回顾101天敏捷个人】结束篇:系列完整目录
敏捷个人周刊下载2012年10月份第一期
《敏捷个人》周刊 第5期 (可下载)
热门文章
敏捷个人2012.9月份线上活动报道:2012年敏捷个人唯一一次线上公开课以及课件PPT免费下载
OpenExpressApp体验:查看模板
《敏捷个人》周刊 第8期 (可下载)
《敏捷个人》周刊 第9期 (可下载)
《敏捷个人》周刊 第3期 (可下载)
敏捷个人社区
敏捷个人2012.8月份线下活动报道:Toastmasters、团队管理
#敏捷个人# 每日成长101,来和我一起成长吧!
推荐:每个人都需要成长,在线阅读《敏捷个人-认识自我,管理自我 V0.5.pdf》
敏捷个人2012.7月份线下活动报道:珠海 时中法、深圳 敏捷个人理念
Copyright © 2011-2022 走看看
很多时候会看到,使用Treeview的时候展开这个节点,到另外一个页面的时候Treeview的状态又恢复了,下面就是解决方法咯
新建一个类
在页面代码,TreeView的控件里事件里写