【转载】关于TreeView和数据库如何进行绑定显示

转载 2013年12月02日 17:18:12

【转载于】tech.it168.com/KnowledgeBase/Articles/0/5/8/058be1cc2a1e95f0dd1e7f9ac71f9d70.htm

需要根据一个表中的数据来显示树形目录,数据库结构如下:》》》》》》》》》》》


构件树形目录的方法如下:
 
       #region 构建TreeView
        
public bool BuildTree(TreeView tv, DataSet ds)
        {
            tv.Nodes.Clear();
            
foreach (DataRow dbRow in ds.Tables[0].Rows)
            {
                
if (dbRow["FatherNumber"].ToString() == string.Empty)
                {
                    dbRow[
"FatherNumber"= DBNull.Value;
                }
            }
            ds.Relations.Add(
"NodeRelation", ds.Tables[0].Columns["TypeNumber"], ds.Tables[0].Columns["FatherNumber"], false);
            
foreach (DataRow dbRow in ds.Tables[0].Rows)
            {
                
if (dbRow.IsNull("FatherNumber"))
                {
                    TreeNode newNode 
= CreateNode(dbRow["TypeName"].ToString(), dbRow["TypeNumber"].ToString());
                    tv.Nodes.Add(newNode);//父节点树
                    PopulateSubTree(dbRow, newNode);//子节点树
                }
            }
            
//展开所有节点
            tv.ExpandAll();
            
return true;
        }
        
private void PopulateSubTree(DataRow dbRow, TreeNode node)
        {
            
foreach (DataRow childRow in dbRow.GetChildRows("NodeRelation"))
            {
                      TreeNode childNode 
= CreateNode(childRow["TypeName"].ToString(), childRow["TypeNumber"].ToString());
                
node.Nodes.Add(childNode);
                PopulateSubTree(childRow, childNode);
            }
        }
        
private TreeNode CreateNode(string text, string tag)//创建节点Node
        {
            TreeNode node 
= new TreeNode();
            node.Text 
= text;
            node.Tag 
= tag;
            
return node;
        }
                   这样调用:
SqlConnection con = new SqlConnection("server=192.168.1.192;database=AUDE_KCGL;uid=sa;pwd=;");
            SqlDataAdapter sda 
= new SqlDataAdapter("select TypeNumber,FatherNumber,TypeName from KC_ObjectType", con);
            DataSet dsTree 
= new DataSet();
            sda.Fill(dsTree);
            
//调用方法构件树形目录
            BuildTree(this.treeView1, dsTree);
                    程序运行效果:
                                           

相关文章推荐

ASP.NET TreeView动态绑定数据库显示

Treeview动态的绑定3层深度的树的代码

使用TreeView进行数据绑定

  • 2010年10月09日 15:24
  • 119KB
  • 下载

TreeView控件动态绑定数据库内容

数据库结构: 表1:FID,DataName两个用到的字段,注意其中DataName为FID的名字 表2:FID,SID,DataName三个用到的字段,注意其中DataName为SID的名字 ...

将数据库中数据绑定到TREEVIEW

  • 2009年03月17日 18:21
  • 2KB
  • 下载

Treeview绑定数据库

  • 2013年12月16日 13:35
  • 14KB
  • 下载

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

想要形成这种效果的话,首先在数据里面建一张表 create table treedata (id number, context varchar2(50), parentid number); i...

treeview绑定数据库

  • 2013年05月08日 22:23
  • 2KB
  • 下载

动态从数据库中绑定TreeView节点

  • 2010年04月28日 10:56
  • 90KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【转载】关于TreeView和数据库如何进行绑定显示
举报原因:
原因补充:

(最多只允许输入30个字)