public void Resume(string strRoleID) { if (strRoleID != string.Empty) { IList <RadTreeNode> nodeCollection = RadTreeView_Rigth.CheckedNodes; //循环所有节点把CheckBox设为 false foreach (RadTreeNode node in nodeCollection) { node.Checked = false; } using (MWDatabaseEntities MWDB = new MWDatabaseEntities()) { //根据选中ListBox的值查询tblRole表 System.Guid gu = new Guid(strRoleID); tblRole objRole = MWDB.tblRole.First(r => r.RoleID == gu); if (objRole != null) { //必须调用 Load方法,把数据先加载上去 ObjectQuery <tblMenu_Permission_Role> tblMenu_Permission_Roles = MWDB.tblMenu_Permission_Role.Where(" it.RoleID=Guid '" + strRoleID + "'"); foreach (tblMenu_Permission_Role item in tblMenu_Permission_Roles) { RadListBoxItem objItem = new RadListBoxItem(); item.tblMenuRightReference.Load(); objItem.Text = item.RoleID.ToString(); tblMenuRight objMenut = MWDB.tblMenuRight.First(m => m.MenuID == item.MenuID); if (objMenut != null) { RadTreeNode node = RadTreeView_Rigth.FindNodeByValue(item.MenuID.ToString()); if (node != null) { //判断是否有子节点如果有返回True ,否则返回False //如果有子节点就不能选中当前的节点,如果选中的话他会自动选中所有子节点 if (!node.HasControls()) { node.Checked = true; } } } } } } } }