如何做到C# Treeview加载节点选中状态
RT:我现在已提前将树的节点的值插入到数据中了,在每次加载树时,我想把数据库里的值读取出来然后在树中自动将对应的节点的checkbox选中,如下图:
--------------------编程问答-------------------- 简单的说下思路, 就是你这个选中 肯定是一个状态 或者是一条记录,当存在时 ,node.checke=true --------------------编程问答-------------------- 数据库中还得有个标示字段,标示是否选中,
读取的时候根据字段标示来选中节点
/// <summary>
/// 设置所有父节点的选中状态
/// </summary>
/// <param name="currNode"></param>
/// <param name="state"></param>
private void setParentNodeCheckedState(TreeNode currNode, bool state)
{
TreeNode parentNode = currNode.Parent;
parentNode.Checked = state;
if (currNode.Parent.Parent != null)
{
setParentNodeCheckedState(currNode.Parent, state);
}
}
/// <summary>
/// 设置所有子节点的选中状态
/// </summary>
/// <param name="currNode"></param>
/// <param name="state"></param>
private void setChildNodeCheckedState(TreeNode currNode, bool state)
{
TreeNodeCollection nodes = currNode.Nodes;
if (nodes.Count > 0)
foreach (TreeNode tn in nodes)
{
tn.Checked = state;
setChildNodeCheckedState(tn, state);
}
}
补充:.NET技术 , C#