根据特殊的表数据,生成树

根据特殊的表数据,生成树

用的是最笨的方法,哪位有好的方法可以指教一下

 

ContractedBlock.gif ExpandedBlockStart.gif Code
protected void btGetTreeview_Click(object sender, EventArgs e)
    {
        TreeView1.Nodes.Clear();
        TreeView1.Visible 
= true;
        DataSet ds 
= pkhead.readData("select * from [group] where group_code='00'");
        
if (ds.Tables.Count == 0return;
        
foreach (DataRow dr in ds.Tables[0].Rows)
        {
            TreeNode treenode 
= new TreeNode();
            treenode.Text 
= pubfunc.ObjectToString(dr["group_name"]);
            treenode.Value 
= pubfunc.ObjectToString(dr["group_code"]);
            TreeView1.Nodes.Add(treenode);
            
string sql2 = string.Format("select * from [group] where group_code like '{0}%' and len=2 order by group_code", treenode.Value);
            DataSet ds2 
= pkhead.readData(sql2);
            
if (ds2.Tables.Count == 0return;
            
foreach (DataRow dr2 in ds2.Tables[0].Rows)
            {
                TreeNode treenode2 
= new TreeNode();
                treenode2.Text 
= pubfunc.ObjectToString(dr2["group_name"]);
                treenode2.Value 
= pubfunc.ObjectToString(dr2["group_code"]);
                treenode.ChildNodes.Add(treenode2);
                
string sql3 = string.Format("select * from [group] where group_code like '{0}%' and len=3 order by group_code", treenode2.Value);
                DataSet ds3 
= pkhead.readData(sql3);
                
if (ds3.Tables.Count == 0return;
                
foreach (DataRow dr3 in ds3.Tables[0].Rows)
                {
                    TreeNode treenode3 
= new TreeNode();
                    treenode3.Text 
= pubfunc.ObjectToString(dr3["group_name"]);
                    treenode3.Value 
= pubfunc.ObjectToString(dr3["group_code"]);
                    treenode2.ChildNodes.Add(treenode3);
                    
string sql4 = string.Format("select * from [group] where group_code like '{0}%' and len=4 order by group_code", treenode3.Value);
                    DataSet ds4 
= pkhead.readData(sql4);
                    
if (ds4.Tables.Count == 0return;
                    
foreach (DataRow dr4 in ds4.Tables[0].Rows)
                    {
                        TreeNode treenode4 
= new TreeNode();
                        treenode4.Text 
= pubfunc.ObjectToString(dr4["group_name"]);
                        treenode4.Value 
= pubfunc.ObjectToString(dr4["group_code"]);
                        treenode3.ChildNodes.Add(treenode4);
                        
string sql5 = string.Format("select * from [group] where group_code like '{0}%' and len=5 order by group_code", treenode4.Value);
                        DataSet ds5 
= pkhead.readData(sql5);
                        
if (ds4.Tables.Count == 0return;
                        
foreach (DataRow dr5 in ds5.Tables[0].Rows)
                        {
                            TreeNode treenode5 
= new TreeNode();
                            treenode5.Text 
= pubfunc.ObjectToString(dr5["group_name"]);
                            treenode5.Value 
= pubfunc.ObjectToString(dr5["group_code"]);
                            treenode4.ChildNodes.Add(treenode5);
                        }

                    }
                }
            }
        }
    }

 

转载于:https://www.cnblogs.com/wellma/archive/2009/04/08/1431462.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值