标题:关于获取动态创建的TreeView名称问题
取消只看楼主
冷酷小子
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-4-16
 问题点数:0 回复次数:4 
关于获取动态创建的TreeView名称问题
我通过读取数据库动态的创建了X个TreeView,也就是通过后台写代码创建了X个TreeView,TreeView有父节点和子节点,子节点和父节点也是通过读取数据库动态添加的。TreeView的CheckBoxes属性设为了True,每个TreeView都有选中和未选中两中情况,TreeView的名字只能通过读取数据库来获取,但是读取数据库获取的名字是字符型的,并不TreeView类型的控件。当我单击Buttton按钮是我怎么来获取每一个TreeView的节点是选中还是未选中呢。
搜索更多相关主题的帖子: TreeView 动态 名称 获取 
2008-11-23 18:15
冷酷小子
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-4-16
得分:0 
回复 第2楼 小仙 的帖子
我是不知道如何获取TreeView的名字
2008-11-23 18:20
冷酷小子
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-4-16
得分:0 
回复 第3楼 冷酷小子 的帖子
感谢楼上的各位抽出时间来帮我解答问题
TreeView的名字只能通过读取数据库来获取,但是读取数据库获取的名字是字符型的,并不TreeView类型的控件
2008-11-24 09:10
冷酷小子
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-4-16
得分:0 
回复 第4楼 小仙 的帖子
这是部分代码
有一个区域表,表中有区域ID和区域名称两个字段
TreeView的名字是通过读取区域表的'区域名称'来动态创建的的 ,区域表中有几条记录就创建几个TreeView
还有一个网吧信息表,字段有网吧信息ID,网吧名称,和区域ID
TreeView的父节点名称也是区域表的名称,子节点是读取网吧信息表的网吧名称
还有一个用户权利表 表中有个角色名称、区域名称和网吧信息
我想实现的是单击一个Button按钮把TreeView的父节点名称存到用户权利表中的区域名称中去,把子节点存到网吧名称中去
   /// <summary>
        /// 获取全部区域
        /// </summary>
        private void getRegion()
        {
            DataSet ds = new DataSet();
            DRegion dreg = new DRegion();
            int intID = 0;
            string strName = "";
            ds = dreg.GetList("");
            for (int i=0;i< ds.Tables[0].Rows.Count;i++)
            {
                intID =  Convert.ToInt32(ds.Tables[0].Rows[i]["id"].ToString());
                strName = ds.Tables[0].Rows[i]["name"].ToString();
                getNet(intID, strName,i);
            }
        }
        /// <summary>
        ///  获取所选区域的网吧信息并创建TreeView 
        /// </summary>
        /// <param name="regionID">区域ID</param>
        /// <param name="regionName">区域名称</param>
        /// <param name="j">记录第几个区域</param>
        private void getNet(int regionID,string regionName ,int j)
        {
            DNetInfo dnet = new DNetInfo();
            DataSet ds1 = new DataSet();
           //读取网吧信息表的信息
            ds1= dnet.GetList("regionId="+regionID+"");
            //创建TreeView,并初化TreeView的数据
            TreeView tt = new TreeView();
            tt.Name = regionName;
            tt.Location = new Point(120 * j, 0);
            tt.Size = new System.Drawing.Size(120, splitContainer1.Panel2.Height);
            tt.Anchor = ((AnchorStyles)(((AnchorStyles.Top | AnchorStyles.Bottom)|AnchorStyles.Left)));
            tt.CheckBoxes = true;
            splitContainer1.Panel2.Controls.Add(tt);
            //创建父节点
            TreeNode tn = new TreeNode();
            tn.Name =Convert.ToString( regionID);
            tn.Text = regionName;
            tt.Nodes.Add(tn);
            TreeNode to;
            //遍历子节点
            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
            {
                to = new TreeNode();
                to.Name = ds1.Tables[0].Rows[i]["id"].ToString();
                to.Text = ds1.Tables[0].Rows[i]["name"].ToString();
                tt.Nodes[0].Nodes.Add(to);
            }
            tt.Nodes[0].Expand();
            // 为所创建的TreeView添加事件
            tt.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(treeView1_AfterCheck);
            tt.MouseDown += new System.Windows.Forms.MouseEventHandler(this.treeView1_MouseDown);
        }
2008-11-24 09:29
冷酷小子
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-4-16
得分:0 
回复 第8楼 冷酷小子 的帖子
已经解决!
把字符强制转换为控件就可以了.
2008-11-25 22:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-245886-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.703653 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved