• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#TreeView控件动态绑定数据库

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

效果图如下:


 

 

create table treedata (
    id int IDENTITY(1,1NOT NULL
    , context varchar(50NOT NULL
    , parentid int NOT NULL
);

 

id:当前的id,context当前节点的值文本,parentid代表当前节点的父节点id

 

 

insert into treedata values(1'所有部门'0);
insert into treedata values(2'人事部'1);
insert into treedata values(3'财务部'1);
insert into treedata values(4'生产部'1);
insert into treedata values(5'车间一'4);
insert into treedata values(6'车间二'4);
insert into treedata values(7'车间三'4);
insert into treedata values(8'商务部'1);

再用递归根据数据库查询的值动态绑定treeView

<asp:TreeView ID="treeView1" runat="server"></asp:TreeView>

 

 

public class SqlScript
{
    public SqlScript()
    {
        //
        
//TODO: 在此处添加构造函数逻辑
        
//
    }

    public string selParentID = " select id, context, parentid from treedata ";
}

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using System.Data;

public partial class test2 : System.Web.UI.Page
{
    SqlScript sql = new SqlScript();

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            LoadTree(0, (TreeNode)null);
            treeView1.ExpandAll();//默认展开所有节点  
            
//this.toolStripComboBox1.SelectedIndex = 0;  
        }
    }

    public void LoadTree(int ParentID, TreeNode pNode)
    {
        DataTable dt = SQLHandler.SearchData(sql.selParentID);
        TreeNode tn1 = new TreeNode();
        DataView dvTree = new DataView(dt);

        dvTree.RowFilter = "[PARENTID] = " + ParentID;//过滤ParentID,得到当前的所有子节点  
        foreach (DataRowView Row in dvTree)
        {
            if (pNode == null)
            {
                //'?添加根节点  
                tn1.Text = Row["ConText"].ToString();
                treeView1.Nodes.Add(tn1);
                tn1.ExpandAll();
                LoadTree(Int32.Parse(Row["ID"].ToString()), tn1);    //再次递归  
            }
            else
            {   
                //添加当前节点的子节点  
                TreeNode tn2 = new TreeNode();
                tn2.Text = Row["ConText"].ToString();
                pNode.ChildNodes.Add(tn2);
                tn1.ExpandAll();
                LoadTree(Int32.Parse(Row["ID"].ToString()), tn2);    //再次递归  
            }
        }
        treeView1.ExpandAll();
    }  
}

 

http://blog.csdn.net/qq634416025/article/details/7624801


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#字符串详细使用(转)发布时间:2022-07-13
下一篇:
C#微信公众号开发--(一)开发之前的准备发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap