winform treeview 通过节点名称添加子节点

/// <summary>
        /// 添加人员节点(利用TreeNodeCollection)
        /// </summary>
        /// <param name="tnc">TreeNodeCollection(TreeView的节点集合)</param>
        /// <param name="pid_val">父id的值</param>
        /// <param name="id">数据库 id 字段名</param>
        /// <param name="pid">数据库 父id 字段名</param>
        /// <param name="text">数据库 文本 字段值</param>
        public static void Bind_Leaves(DataTable dt, TreeView tnc, string id, string pid, string text,ContextMenuStrip contextMenuStrip1, ImageList imageList1)
        {
            DataView dv = new DataView(dt);//将DataTable存到DataView中,以便于筛选数据
            TreeNode tn;//建立TreeView的节点(TreeNode),以便将取出的数据添加到节点中
            foreach (DataRowView drv in dv)
            {
                tn = new TreeNode();//建立一个新节点(学名叫:一个实例)
                tn.Name = drv[id].ToString();//节点的Value值,一般为数据库的id值
                tn.Text = drv[text].ToString();//节点的Text,节点的文本显示

                foreach (TreeNode node in tnc.Nodes)
                {
                    if (node.Name == drv[pid].ToString()){
                        node.Nodes.Add(tn);
                        tn.ContextMenuStrip = contextMenuStrip1;

                        tn.ImageIndex = tn.SelectedImageIndex = 1;

                        break;
                    }

                }

                //tnc.Nodes[drv[pid]].Nodes.Add(tn);//将该节点加入到TreeNodeCollection(节点集合)中
                //Bind_Leaves(dt, tn.Nodes, tn.Name, id, pid, text);//递归(反复调用这个方法,直到把数据取完为止)
            }
        }

winform treeview 通过节点名称添加子节点

时间: 2024-10-12 07:38:42

winform treeview 通过节点名称添加子节点的相关文章

删除TreeView节点以及其子节点

//1.删除TreeView节点以及其子节点procedure TForm2.Button1Click(Sender: TObject);var TreeNode:TTreeNode;begin  if TreeView1.Selected <> Nil then  Begin    TreeNode := TreeView1.Selected.getFirstChild;    while TreeNode <> nil do    begin      TreeNode.Del

根据父节点编号查询子节点名称,孙节点个数

新建一个部门表 DROP TABLE IF EXISTS `dept`; CREATE TABLE `dept` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '标识列', `name` varchar(255) NOT NULL COMMENT '名称', `pid` int(11) NOT NULL COMMENT '父级编号', `num` int(11) NOT NULL DEFAULT '100' COMMENT '排序号', PRIMA

一文带你彻底明白如何实现动态添加子节点及修改子节点属性

? 终于看完了官方的教程,开始用 Cocos Creator 做第一个游戏——<消灭病毒-重力版>(PS:等做完之后会出一个完整的教程,敬请期待┗( ▔, ▔ )┛!),可是第一步就遇到了坑,本来想动态的通过预制件来添加病毒节点,并修改病毒的血量,可是添加节点之后无论如何都不能对节点的属性进行修改,查了半天资料原来是没有获取子节点的组件,白白浪费了两个小时,这就是自学的弊端吧,有一个好的老师真的是太重要了!为了让大家少走弯路,今天写一个 Demo 来教大家如何实现动态添加子节点及修改子节点属性

添加子节点appendChild()

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

EasyUI treegrid 实现点击父节点加载子节点

今天在项目中遇到问题,要实现 EasyUI   treegrid 实现点击父节点加载子节点 第一反应是去百度一下,谷歌一下,发现网上的回答不是懒加载就是在onBeforeExpand调用append方法 我决定使用第二种方法,定义treegrid的onBeforeExpand方法,在里面调用appen方法. 然而当我兴冲冲的运行的时候,出问题了, Firefox出现too much recursion异常提示 在网上看了一下这个问题的出现原因,大家都说是,非法使用了js关键字,可是我看了几遍代码

C#WinForm treeview控件 选中一个根节点为其添加子节点

1 UI 2 代码 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms; 10 11 na

删除 treeview Node节点 循环删除子节点 存储过程

create  procedure  DeleteNote @Objid int--定义要删除树节点 as declare @childID int  --声明变量 declare cursors cursor local for select Objid from TableChart where [email protected]      --local关键字全局游标 open cursors fetch next from cursors into @childID     --取游标的

TreeView控件点击父节点同时选择子节点JS脚本

1 <script language="javascript" type="text/javascript"> 2 function client_OnTreeNodeChecked() { 3 var obj = window.event.srcElement; 4 var treeNodeFound = false; 5 var checkedState; 6 if (obj.tagName == "INPUT" &&am

Qt 按名称查找子节点

1 TreeItem* TreeModel::GetItem(QStringList& list, TreeItem* parent ,int deep) 2 { 3 if( list.at(deep) == parent->data(0).toString()) 4 { 5 if( ++deep == list.count()) 6 return parent; 7 } 8 foreach(TreeItem* child,parent->childItems) 9 { 10 Tree