递归生成新闻分类列表dropdownlist的项集合

 

 public void BindSortData()
        {
            DataTable dt = this.Db.GetTable("select Column_ID,Column_Name,Column_Depth from Expro_NewsType where Column_Depth=1");
            SortList(dt,"0");
        }
        public void SortList(DataTable dt,string parentId)
        {
         
            if (dt != null)
            {
                DataRow dr = null;
                string tempColumnId = "";
                string tempColumn_Name = "";
                int tempColumn_Depth = 0;

                if (dt.Rows.Count > 0)
                {

      

                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        dr = dt.Rows[i];
                        tempColumnId = Convert.ToString(dr["Column_ID"] ?? "");
                        tempColumn_Name = Convert.ToString(dr["Column_Name"] ?? "");
                        tempColumn_Depth = int.Parse(Convert.ToString(dr["Column_Depth"] ?? ""));

                        DataTable dtTemp = this.Db.GetTable("select Column_ID,Column_Name,Column_Depth from Expro_NewsType where Parent_ID=@Parent_ID", new System.Data.SqlClient.SqlParameter("@Parent_ID", tempColumnId));
                        if (dtTemp != null && dtTemp.Rows.Count>0)
                        {
                            string tempGe = "";
                            for (int j = 0; j < tempColumn_Depth - 1; j++)
                            {
                                tempGe += "";
                            }
                            this.DdlGTypeId.Items.Add(new ListItem(tempGe + tempColumn_Name, tempColumnId));
                            SortList(dtTemp, tempColumnId);
                        }
                        else
                        {

                            string tempGe = "";
                            for (int j = 0; j < tempColumn_Depth-1; j++)
                            {
                                tempGe += "";
                            }
                            this.DdlGTypeId.Items.Add(new ListItem(tempGe+tempColumn_Name, tempColumnId));
                        }


                    }
                }
     
            }
           
        }

posted on 2009-03-13 15:12  bestsaler  阅读(188)  评论(0编辑  收藏  举报