TreeView 常用代码C#

数据库字段
ID
ParentID
EquipmentName

代码:


 1protected void MachineBind(Int32 KindID)
 2    {
 3        TreeView1.Nodes.Clear();
 4        TreeNode newnode = new TreeNode();
 5        T_Machine dao = new T_Machine();
 6
 7        DataTable dt = dao.GetMachineByKindID(KindID);
 8        this.InitTree(this.TreeView1.Nodes, 0, dt);
 9    }

10
11    /// <summary>
12    /// 初始化树
13    /// </summary>

14    private void InitTree(TreeNodeCollection Nds, int parentID, DataTable dt)
15    {
16        TreeNode tmpNd;
17        DataRow[] rows = dt.Select("MachineParentID=" + parentID);
18        try
19        {
20            //使用foreach语句 来判断递归结束的条件
21            foreach (DataRow row in rows)
22            {
23                tmpNd = new TreeNode();
24                tmpNd.Value = row["MachineID"].ToString();
25                tmpNd.Text = row["MachineName"].ToString();
26                tmpNd.ToolTip = row["MachineFlag"].ToString();
27
28                Nds.Add(tmpNd);
29
30                InitTree(tmpNd.ChildNodes, Convert.ToInt32(tmpNd.Value), dt);
31            }

32        }

33        catch { }
34    }

35
36

 

查询

 

删除

 

得到所有子节点

 

        protected void treeNavi_SelectedNodeChanged(object sender, EventArgs e)
        {
            LblSelect.Text = GetNodePath(treeNavi.SelectedNode, treeNavi.SelectedNode.Text);           
        }

        /// <summary>
        /// 获取节点路径
        /// </summary>
        /// <param name="node"></param>
        /// <param name="temp"></param>
        /// <returns></returns>
        private string GetNodePath(TreeNode node,string temp)
        {           
            if (node.Parent != null)
            {
                temp = node.Parent.Text +" >> "+ temp;
                return GetNodePath(node.Parent, temp);
            }
            return temp;
        }

 

 


        
/// <summary>
        
/// 选择节点
        
/// </summary>
        
/// <param name="tn"></param>
        
/// <param name="text"></param>
        private void SelectNode(TreeNode note, string text)
        {
            
foreach (TreeNode tempNode in note.Nodes)
            {
                
if (tempNode.Text == text)
                {
                    
this.treeView1.SelectedNode = tempNode;
                }
                
else
                {
                    
if (tempNode.Nodes.Count > 0)
                    {
                        SelectNode(tempNode, text);
                    }
                }
            }
        } 

            
//调用
            foreach (TreeNode note in treeView1.Nodes)
            {
                SelectNode(note, 
"选择节点的文本");
            }

 

 

 

 

 


 

 

posted on 2007-05-30 06:38  迷你软件  阅读(2127)  评论(10编辑  收藏  举报

本网站绝大部分资源来源于Internet,本站所有作品版权归原创作者所有!!如有以下内容:章节错误、非法内容、作者署名出错、版权疑问、作品内容有违相关法律等请及时与我联系. 我将在第一时间做出响应!本站所有文章观点不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。