加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C#winform treeview多状树形绑定

(2013-10-21 11:39:32)
标签:

cwinform

treeview绑定

学习

每天进步一点点

数据库表名:TreeView

数据表内容:                                                         执行结果:

http://s14/mw690/97e82f5egx6DANqUPmd6d&690treeview多状树形绑定" TITLE="C#winform treeview多状树形绑定" />
代码实现:

        //获取TreeView所用数据       
        private void InitDataTable()     
        {
           
            SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=G:\辉海短信平台第二版\MessagePlatform.mdf;Integrated Security=True;User Instance=True");           
            SqlCommand cmd = new SqlCommand("SELECT * FROM TreeView", conn);      
            SqlDataAdapter ada = new SqlDataAdapter(cmd);
            dt = new DataTable();           
            ada.Fill(dt);     
        }

 

 //绑定根节点      
        private void BindRoot()
        {
            DataRow[] rows = dt.Select("Grandid=-1");//取根     
            foreach (DataRow dRow in rows)
            {
                TreeNode rootNode = new TreeNode();
                rootNode.Tag = dRow;
                rootNode.Text = dRow["PointName"].ToString();
               TreeViewClass.Nodes.Add(rootNode);
                BindChildAreas(rootNode);
            }
        }

        //递归绑定子区域      
        private void BindChildAreas(TreeNode fNode)
        {
            DataRow dr = (DataRow)fNode.Tag;
            //父节点数据关联的数据行           
            int fid = (int)dr["id"];
            //父节点ID           
            DataRow[] rows = dt.Select("Grandid=" + fid);//子区域        
            if (rows.Length == 0)  //递归终止,区域不包含子区域时          
            { return; }
            foreach (DataRow dRow in rows)
            {
                TreeNode node = new TreeNode();
                node.Tag = dRow; node.Text = dRow["PointName"].ToString(); //添加子点              
                fNode.Nodes.Add(node);                //递归              
                BindChildAreas(node);         
              
         

 

     public SMSForm()
        {
            InitializeComponent();
            //初始化树状图
           InitDataTable();
        }
        private void SMSForm_Load(object sender, EventArgs e)
        {
            BindRoot();
        }

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有