递归创建树节点方法 选中权限值
2012-04-28 15:31
267 查看
public void CreateNode(TreeNode tn, List<RolePermissionEntity> list)
{
foreach (RolePermissionEntity rp in list)
{
TreeNode tnd = new TreeNode(rp.PermissionName,rp.PermissionCode);
tnd.Checked = rp.HasPermission == 1;
tn.ChildNodes.Add(tnd);
var listChild = (from tab in listAll where tab.ParentPermissionCode == rp.PermissionCode select tab).ToList<RolePermissionEntity>();
if (listChild != null)
{
CreateNode(tnd,listChild);
}
}
}
List<RolePermissionEntity> listAll = new List<RolePermissionEntity>();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
InitTreeData();
}
}
public void InitTreeData()
{
this.TreeView1.Nodes.Add(new TreeNode() { Text="根",Value="001"});
listAll.Add(new RolePermissionEntity() { PermissionCode = "10000", PermissionName = "员工管理", ParentPermissionCode = "0", HasPermission = 1 });
listAll.Add(new RolePermissionEntity() { PermissionCode = "11000", PermissionName = "员工管理001", ParentPermissionCode = "10000", HasPermission = 0 });
listAll.Add(new RolePermissionEntity() { PermissionCode = "11100", PermissionName = "员工管理0001", ParentPermissionCode = "11000", HasPermission = 0 });
listAll.Add(new RolePermissionEntity() { PermissionCode = "10001", PermissionName = "企业管理", ParentPermissionCode = "0", HasPermission = 1 });
listAll.Add(new RolePermissionEntity() { PermissionCode = "10002", PermissionName = "薪资管理", ParentPermissionCode = "0", HasPermission = 1 });
var parentList = (from tab in listAll where tab.ParentPermissionCode=="0" select tab).ToList<RolePermissionEntity>();
CreateNode(TreeView1.Nodes[0], parentList);
}
public void CreateNode(TreeNode tn, List<RolePermissionEntity> list)
{
foreach (RolePermissionEntity rp in list)
{
TreeNode tnd = new TreeNode(rp.PermissionName,rp.PermissionCode);
tnd.Checked = rp.HasPermission == 1;
tn.ChildNodes.Add(tnd);
var listChild = (from tab in listAll where tab.ParentPermissionCode == rp.PermissionCode select tab).ToList<RolePermissionEntity>();
if (listChild != null)
{
CreateNode(tnd,listChild);
}
}
}
}
}
{
foreach (RolePermissionEntity rp in list)
{
TreeNode tnd = new TreeNode(rp.PermissionName,rp.PermissionCode);
tnd.Checked = rp.HasPermission == 1;
tn.ChildNodes.Add(tnd);
var listChild = (from tab in listAll where tab.ParentPermissionCode == rp.PermissionCode select tab).ToList<RolePermissionEntity>();
if (listChild != null)
{
CreateNode(tnd,listChild);
}
}
}
List<RolePermissionEntity> listAll = new List<RolePermissionEntity>();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
InitTreeData();
}
}
public void InitTreeData()
{
this.TreeView1.Nodes.Add(new TreeNode() { Text="根",Value="001"});
listAll.Add(new RolePermissionEntity() { PermissionCode = "10000", PermissionName = "员工管理", ParentPermissionCode = "0", HasPermission = 1 });
listAll.Add(new RolePermissionEntity() { PermissionCode = "11000", PermissionName = "员工管理001", ParentPermissionCode = "10000", HasPermission = 0 });
listAll.Add(new RolePermissionEntity() { PermissionCode = "11100", PermissionName = "员工管理0001", ParentPermissionCode = "11000", HasPermission = 0 });
listAll.Add(new RolePermissionEntity() { PermissionCode = "10001", PermissionName = "企业管理", ParentPermissionCode = "0", HasPermission = 1 });
listAll.Add(new RolePermissionEntity() { PermissionCode = "10002", PermissionName = "薪资管理", ParentPermissionCode = "0", HasPermission = 1 });
var parentList = (from tab in listAll where tab.ParentPermissionCode=="0" select tab).ToList<RolePermissionEntity>();
CreateNode(TreeView1.Nodes[0], parentList);
}
public void CreateNode(TreeNode tn, List<RolePermissionEntity> list)
{
foreach (RolePermissionEntity rp in list)
{
TreeNode tnd = new TreeNode(rp.PermissionName,rp.PermissionCode);
tnd.Checked = rp.HasPermission == 1;
tn.ChildNodes.Add(tnd);
var listChild = (from tab in listAll where tab.ParentPermissionCode == rp.PermissionCode select tab).ToList<RolePermissionEntity>();
if (listChild != null)
{
CreateNode(tnd,listChild);
}
}
}
}
}
相关文章推荐
- 使用递归方法获得CheckBox选中的节点
- 使用递归方法获得TreeView中CheckBox选中的节点
- javascript DOM 编程方法——创建文本节点
- C++使用递归的方法创建二叉树
- jquery创建一个新的节点对象(自定义结构/内容)的好方法
- 字符设备设备节点创建的两种方法
- 初探二叉树之动态创建,前.中,后序遍历的递归及非递归实现,层次遍历,树状输出,叶节点及节点总数的统计
- Easyui combotree 获取选中节点的值的方法
- 默认选中TreeView某个节点的方法
- 默认选中Treeview的某个节点--修正方法
- jquery创建一个新的节点对象(自定义结构/内容)的好方法
- 非递归层次遍历方法实现二叉树中指定节点的层次数查找
- 在父页面得到zTree已选中的节点的方法
- 总结一下jQuery操作元素节点的方法(创建、选择、插入节点)
- js创建dom节点之最容易被忽略的createDocumentFragment()方法
- 默认选中TreeView某个节点的方法 --ASP.NET
- Asp.net Tree 角色相应权限的显示 (选中子节点 该子节点下全选中,以及修改权限)
- Delphi 中递归生成TreeView节点的方法
- 安装Sql Server 2008,遇到的无权限创建数据库、修改身份验证模式等问题的原因及解决方法
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果