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());
}
查看全文
相关阅读:
Java 最常见的 208 道面试题(第九模块和第十模块答案)
更灵活的边缘云原生运维:OpenYurt 单元化部署新增 Patch 特性
高德 Serverless 平台建设及实践
官宣:恭喜 ChaosBlade 项目进入 CNCF Sandbox
工商银行分布式服务 C10K 场景解决方案
云原生的进一步具象化
阿里云入选 2021 Gartner APM 魔力象限,国内唯一入选云厂商
云原生下的灰度体系建设
seata-golang 一周年回顾
WebAssembly + Dapr = 下一代云原生运行时?
原文地址:https://www.cnblogs.com/javabin/p/1583003.html
最新文章
Java中简单易懂的HashMap面试题(面试必备)
2020年最新版区块链面试题
ResponseBody与RequestBody
2020年最新Redis面试题
程序员是吃的青春饭吗?
Redis中缓存预热、击穿、雪崩等问题解决方案
WebSocket一篇就够了
2020年最新消息中间件MQ与RabbitMQ面试题
2020年最新网络编程面试题
2020年最新ZooKeeper面试题
热门文章
Java虚拟机调优系列PDF免费下载
Spring Cloud 入门总结
Java 最常见的 208 道面试题(第十九模块答案)JVM
Java 最常见的 208 道面试题(第十八模块答案)MySql
Java 最常见的 208 道面试题(第十六模块答案)Zookeeper
Java 最常见的 208 道面试题(第十五模块答案)Kafka
Java 最常见的 208 道面试题(第十四模块答案)RabbitMQ
Java 最常见的 208 道面试题(第十三模块答案)Mybatis
Java 最常见的 208 道面试题(第十二模块答案)Hibernate
Java 最常见的 208 道面试题(第十一模块答案)Spring Boot / Spring Cloud
Copyright © 2011-2022 走看看
很多时候会看到,使用Treeview的时候展开这个节点,到另外一个页面的时候Treeview的状态又恢复了,下面就是解决方法咯
新建一个类
在页面代码,TreeView的控件里事件里写