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());
}
查看全文
相关阅读:
Numpy库
使用Python的pandas-datareader包下载雅虎财经股价数据
python引用库异常总结
桌面常用快捷键
第四章 数据的概括性度量
第三章 数据的图表展示
python连接MySql数据库
如何利用scrapy新建爬虫项目
幼儿教育
PyMySQL和MySQLdb的区别
原文地址:https://www.cnblogs.com/javabin/p/1583003.html
最新文章
streamsets 同步Mysql 到clickhouse
(四) tensorflow笔记:常用函数说明
tensorflow笔记:多层LSTM代码分析
tensorflow笔记:多层CNN代码分析
tensorflow笔记:流程,概念和简单代码注释
R语言可视化
R语言入门基础
R中读取EXCEL 数据的方法
R语言常用语法总结
R中的基本函数运算
热门文章
画图参数总结
最全PyCharm 教程
移动namenode、secondarynamenode和jobTracker的节点(使其成为独立节点)
idea本地调试spark,hive,kafka
Intellij IDEA 远程链接hive,执行hsql
hadoop MR的一些文件归属(包括临时文件存储情况)
大数据常见端口配置
Hadoop Streaming 使用及参数设置
Python将list中的string批量转化成int/float
Unicode编码问题 如:u529eu7406u9996u6c7du52a0u6cb9
Copyright © 2011-2022 走看看
很多时候会看到,使用Treeview的时候展开这个节点,到另外一个页面的时候Treeview的状态又恢复了,下面就是解决方法咯
新建一个类
在页面代码,TreeView的控件里事件里写