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

 

查询
 1查询#region 查询
 2    protected void ImgBut_Select_Click(object sender, ImageClickEventArgs e)
 3    {
 4        TreeView1.CollapseAll();
 5        GetNode(TreeView1.Nodes);
 6    }

 7  //递归查询
 8    protected void GetNode(TreeNodeCollection tc)
 9    {
10        foreach (TreeNode TNode in tc)
11        {
12            if (TNode.Text.IndexOf(txt_Select.Text.Trim())!=-1)
13            {
14                ExpandParent(TNode); 
15                TNode.ImageUrl = "~/TreeLineImages/select.gif";
16            }

17            else
18            {
19                TNode.ImageUrl = "";
20            }

21
22            GetNode(TNode.ChildNodes);
23        }

24    }

25   //展开父节点
26    protected void ExpandParent(TreeNode node)
27    {
28        if (node.Parent != null)
29        {
30            node.Parent.Expand();
31            ExpandParent(node.Parent);
32        }

33    }

34    #endregion

< span>

 

删除
 1/**//// <summary>
 2    /// 删除 (需设置:TreeView1.ShowCheckBoxes = TreeNodeTypes.Leaf;)
 3    /// </summary>

 4    protected void but_Del_Click(object sender, EventArgs e)
 5    {
 6        T_Machine dao = new T_Machine();
 7        Int32 count = TreeView1.CheckedNodes.Count;
 8        for (int i = 0; i < count; i++)
 9        {
10            dao.Delete(Convert.ToInt32(TreeView1.CheckedNodes[i].Value));
11        }

12        MachineBind(Convert.ToInt32(Menu1.SelectedItem.Value));
13    }

14

 

得到所有子节点
 1    protected void DisplayChildNodesValue(TreeNodeCollection nodes)
 2    {
 3        foreach (TreeNode TNode in nodes)
 4        {            
 5            Response.Write(TNode.Value.ToString() + "<br>");            
 6            DisplayChildNodesValue(TNode.ChildNodes);
 7        }

 8    }

 9    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
10    {
11        DisplayChildNodesValue(TreeView1.SelectedNode.ChildNodes);
12    }

 

        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, 
" 选择节点的文本 " );
            }

 

 

 

 

 


 

 

转载于:https://www.cnblogs.com/EasyData/archive/2007/05/30/764618.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值