dotnetbar.advTree递归选择节点
来源:互联网 发布:淘宝专卖店是正品吗 编辑:程序博客网 时间:2024/05/22 14:38
#region 选择收信人
private void advTree1_NodeClick(object sender, TreeNodeMouseEventArgs e)
{
string names = "";
string ids = "";
string groups = "";
if (e.Node.Checked)
{
SelectNode(e.Node, true);
UpdateParentNode(e.Node);
SelectValue(ref ids, ref names, ref groups);
}
else
{
SelectNode(e.Node, false);
UpdateParentNode(e.Node);
SelectValue(ref ids, ref names, ref groups);
}
txtSendName.Text = names;
usernames = names;
groupnames = groups;
group_user_ids = ids;
}
//遍历选中状态的Name,ID(对应node里面的tagstring)
private void SelectValue(ref string ids, ref string names, ref string groups)
{
foreach (DevComponents.AdvTree.Node child in node1.Nodes)
{
for (int i = 0; i < child.Nodes.Count; i++)
{
if (child.Nodes[i].CheckState == CheckState.Checked)
{
//用户名插入
names += child.Nodes[i].Text + ",";
//插入组id(test改为组名)名以及用户Id
ids += child.TagString + "_" + child.Nodes[i].TagString + ",";
//ids += child.Text + "_" + child.Nodes[i].TagString + ",";
groups += child.Text + "_" + child.Nodes[i].Text + ",";
}
}
}
}
#endregion
#region 节点递归
//递归选择子节点
private void SelectNode(DevComponents.AdvTree.Node nod, bool flag)
{
if (nod.HasChildNodes)
{
foreach (DevComponents.AdvTree.Node child in nod.Nodes)
{
child.Checked = flag;
SelectNode(child, flag);
}
}
}
//递归更新父节点
private void UpdateParentNode(DevComponents.AdvTree.Node nod)
{
if (nod != node1)
{
bool sg = true;
foreach (DevComponents.AdvTree.Node cnod in nod.Parent.Nodes)
{
if (!cnod.Checked)
{
sg = false;
break;
}
}
if (sg)
{
nod.Parent.CheckState = CheckState.Checked;
UpdateParentNode(nod.Parent);
}
else
{
nod.Parent.CheckState = CheckState.Indeterminate;
UpdateParentNode(nod.Parent);
}
}
}
#endregion
- dotnetbar.advTree递归选择节点
- dotnetbar.advTree递归选择节点
- 设置advTree节点不能改变自身层级关系
- DotNetBar
- unity3d 选择一个物体递归输出所有节点名字
- TreeView节点选择影响其父子节点选中状态(递归)
- 节点选择
- DevComponents.AdvTree 使用方法
- treeview 节点 父节点 递归
- [原创]递归节点
- 递归得到叶子节点。
- 递归实现节点查询
- CTreeCtrl节点递归查找
- 递归输出树形节点
- treeview递归绑定节点
- oracle根节点递归
- 递归查找指定节点
- 递归删除子节点
- C++ static常见用法
- redis数据结构之字符串
- Linux常用命令总结
- Cocos2d-x win7下 android环境搭建
- 排序算法
- dotnetbar.advTree递归选择节点
- 130807hud第五场多校结题报告
- http报头参数详解
- android取得账户(邮件地址)
- C#获取当前程序运行路径的方法集合
- Validate(Object e) 参数的属性
- 2013年测试人员薪水分布图
- php这样实现伪静态
- 移动硬盘电脑无法识别之供电不足