dropdownlist如何像树形菜单那样显示

我的数据结构是这样的?  
id      parid      tile  
1            0            a  
2            1            b  
3            1              c  
4            2              d  
5            2              e  
6            3              f  
.            .              .  
.            .              .  
.            .              .  
我想出现这样的结果  
1.................  
   2..............  
         4...........  
         5...........  
   3..............  
         6...........  
结果是出现在dropdownlist下拉菜单中,请问怎样实现呢  
---------------------------------------------------------------  
 
private  void  Page_Load(object  sender,  System.EventArgs  e)  
{  
           DataTable  dt  =  GetData();                          
           GetString(dt,0);  
}  
 
private  void  GetString(DataTable  dt,int  id)  
{  
           DataView  dv  =  new  DataView(dt);  
           dv.RowFilter  =  "parentid  =  "  +  id.ToString();  
           int  m=0;  
           foreach(DataRowView  drv  in  dv)  
           {  
                       m++;  
                       string  blank="";  
                       if(id!=0)  
                       {  
                                   for(int  i=0;i<m;i++)  
                                   {  
                                               blank+="空格";  
                                   }  
                       }  
                       ListItem  li=new  ListItem();  
                       li.Text=blank+drv["id"].ToString()+drv["name"].ToString();  
                       li.Value=drv["id"].ToString();  
                       this.Dropdownlist3.Items.Add(li);  
                       GetString(dt,Convert.ToInt32(drv["id"]));  
           }      
}  
private  DataTable  GetData()  
{  
           DataTable  dt;  
           dt  =  new  DataTable();  
 
           dt.Columns.Add("id");  
           dt.Columns.Add("parentid");  
           dt.Columns.Add("name");  
             
           DataRow  dr;  
           dr  =  dt.NewRow();  
           dr["id"]  =  "1";  
           dr["parentid"]  =  "0";  
           dr["name"]  =  "a";  
           dt.Rows.Add(dr);  
 
           dr  =  dt.NewRow();  
           dr["id"]  =  "2";  
           dr["parentid"]  =  "1";  
           dr["name"]  =  "b";  
           dt.Rows.Add(dr);  
 
           dr  =  dt.NewRow();  
           dr["id"]  =  "3";  
           dr["parentid"]  =  "1";  
           dr["name"]  =  "c";  
           dt.Rows.Add(dr);  
 
           dr  =  dt.NewRow();  
           dr["id"]  =  "4";  
           dr["parentid"]  =  "2";  
           dr["name"]  =  "d";  
           dt.Rows.Add(dr);  
 
           dr  =  dt.NewRow();  
           dr["id"]  =  "5";  
           dr["parentid"]  =  "2";  
           dr["name"]  =  "e";  
           dt.Rows.Add(dr);  
 
           dr  =  dt.NewRow();  
           dr["id"]  =  "6";  
           dr["parentid"]  =  "3";  
           dr["name"]  =  "f";  
           dt.Rows.Add(dr);  
           return  dt;  
 
}   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值