关于treeview加载时选中的问题

KyKiske22 2016-11-23 05:56:40
创建treeview的方法如下:
public TreeNode headtree;//headtree:一级节点-头
public TreeNode[] grouptree;//grouptree:二级节点
public TreeNode[] usertree;//usertree:三级节点

private void CRNode()
{
headtree = new TreeNode();
headtree.Text = "人员名单";
tvStuffList.Nodes.Add(headtree);
List<GroupInfo> gil = new List<GroupInfo>();
gil = new GroupInfo_Manage().SearchGroups("");//通过数据库读取二级节点的数据
int gc = gil.Count;
grouptree = new TreeNode[0];
if (gc > 0)
{
grouptree = new TreeNode[gc];
}
for (int i = 0; i < gc; i++)
{
grouptree[i] = new TreeNode();
grouptree[i].Tag = gil[i].Id;
grouptree[i].Text = gil[i].GroupName;
headtree.Nodes.Add(grouptree[i]);
List<UserInfo> uil = new List<UserInfo>();
UserInfo ui = new UserInfo();
ui.GroupName = grouptree[i].Text;
uil = new UserInfo_Manage().SearchUserinfoByGroupName(ui);//通过数据库读取三级节点的数据
int uc = uil.Count;
TreeNode[] usertree = new TreeNode[0];
if (uc > 0)
{
usertree = new TreeNode[uc];
}
for (int j = 0; j < uc; j++)
{
usertree[j] = new TreeNode();
usertree[j].Tag = uil[j].Id;
usertree[j].Text = uil[j].UserName;
grouptree[i].Nodes.Add(usertree[j]);
}
}
}

求问:当知道三级节点的id清单(即List<int> ID)后,如何根据这个清单在Frm_Load中加载好选中状态??具体的要求是清单里若有GroupName对应的ID就加载为选中状态,否则为正常非选中状态
...全文
123 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
KyKiske22 2016-11-29
  • 打赏
  • 举报
回复
是不是要重写treeview控件或者添加event事件??
KyKiske22 2016-11-29
  • 打赏
  • 举报
回复
引用 1 楼 xinweilee 的回复:
满足条件的话设置treenode.checked状态不可以吗
可以实现 但新问题来了:如何把C#的treeview选中的节点设为只读呢?
xinweilee 2016-11-23
  • 打赏
  • 举报
回复
满足条件的话设置treenode.checked状态不可以吗

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧