递归来设置:
private void SetCheck(TreeView TV_Id, TreeNodeCollection Nds)
{
foreach (TreeNode node in Nds)
{
for (int i = 0; i < dtRoleMenu.Rows.Count; i++)
{
if (node.Value.ToString().Trim() == 你的要对比的值)
{
node.Checked = true;
break;
}
else
{
node.Checked = false;
}
}
SetCheck(TV_Id, node.ChildNodes);
}
}
private void SetCheck(TreeView TV_Id, TreeNodeCollection Nds)
{
foreach (TreeNode node in Nds)
{
for (int i = 0; i < dtRoleMenu.Rows.Count; i++)
{
if (node.Value.ToString().Trim() == 你的要对比的值)
{
node.Checked = true;
break;
}
else
{
node.Checked = false;
}
}
SetCheck(TV_Id, node.ChildNodes);
}
}
我取出的数据是IList
___IList <PurvItemModel> PurvItemList = _purvItemBiz.GetPurvItemByParent(ParentID);
for (int i = 0; i < PurvItemList.Count; i++) 这个树已经是用递归绑定显示了!现在在在这个递归里在做这样的递归,有点可怕!
帮我想想,怎么改一下结构,效率更好,当然能够解决问题最好!
谢谢你!
这个表字段有:RoleID(角色编号)
2、权限表
这个表字段有:PurvID(权限编号) Name(权限名称) ParentID (权限父结点编号)
★★【其实树就是从这个表取数据绑定的】,这个树上选择结点操作的历史记录放下面的角色权限表。
3、角色权限表 (记录角色对应的所有权限记录,该表一个角色对应多条权限项信息)
这个表字段有:RoleID(角色编号) PurvID(权限编号)
★★这个表记录用户操作树选择结点的全部权限记录