用递归在Dropdownlist中显示树状结构

来源:互联网 发布:企业金融数据库 编辑:程序博客网 时间:2024/05/29 15:04

建立一个aspx页面,copy如下代码
html代码
<HTML>
    
<HEAD>
        
<title>WebForm9</title>
    
</HEAD>
    
<body>
        
<form id="Form1" method="post" runat="server">
            
<asp:DropDownList id="Dropdownlist3" runat="server" Width="352px"></asp:DropDownList></form>
    
</body>
</HTML>
cs代码
public class WebForm3 : System.Web.UI.Page
    
{
        
protected System.Web.UI.WebControls.DropDownList Dropdownlist3;
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            DataTable dt 
= GetData();        
            BindData(dt,
0);
        }

        
        
private void BindData(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);
                BindData(dt,Convert.ToInt32(drv[
"id"]));
            }
  
        }

        

        
GetData

        
Web Form Designer generated code  
    }
 
原创粉丝点击