递归生成新闻分类列表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));
}
}
}
}
}