您的位置:首页 > 运维架构

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

2007-01-08 16:29 375 查看


建立一个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#region GetData


        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;




            }




        #endregion






        Web Form Designer generated code#region Web Form Designer generated code


        override protected void OnInit(EventArgs e)




        

{


            //


            // CODEGEN: This call is required by the ASP.NET Web Form Designer.


            //


            InitializeComponent();


            base.OnInit(e);


        }


        




        /**//**//**//// <summary>


        /// Required method for Designer support - do not modify


        /// the contents of this method with the code editor.


        /// </summary>


        private void InitializeComponent()




        

{    


            this.Load += new System.EventHandler(this.Page_Load);


        }


        #endregion  


    }
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息