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());
}
查看全文
相关阅读:
android: 记录及回复lisView的位置
android获取屏幕尺寸、密度
iphone:蓝牙传输
android 线程 进程
android 首次使用app时的使用教程的功能的实现
android 启动界面
iphone:数组的反序
android:onKeyDown
iphone: 可编辑的tableView Move&Delete
iphone:类似path的抽屉式导航效果的demo总结
原文地址:https://www.cnblogs.com/javabin/p/1583003.html
最新文章
如何找出错误ora07445发生时系统执行的语句
Sphinx武林秘籍(下)
Sphinx武林秘籍(上)
Sphinx武林秘籍(中)
JRTPLIB使用实例
Arduino超声波测距程序
Linux下autoconf和automake使用
wireshark 实用过滤表达式(针对ip、协议、端口、长度和内容) 实例介绍
WP7截图工具诞生攻坚实录(三)
首款WindowsPhone 7 PC端实时截图工具诞生攻坚实录(一)
热门文章
开发截屏软件的收获
首款WindowsPhone 7 PC端实时截图工具诞生攻坚实录(二)
android:使用BaseExpandableListAdapter实现可折叠的列表
android:设置布局参数LayoutParams
Android: SQLite 数据库
android:http 使用SDK4.0.3之后的线程错误问题
iphone:自定义UIAlertView
iphone:图形
iphone:解析html的第三库hpple初试
android:退出程序
Copyright © 2011-2022 走看看
很多时候会看到,使用Treeview的时候展开这个节点,到另外一个页面的时候Treeview的状态又恢复了,下面就是解决方法咯
新建一个类
在页面代码,TreeView的控件里事件里写