DropDownList 递归 事例
后台代码如下:
public DataSet ds = null;
public DataTable dt = new DataTable();
public SqlConnection con = null;
public SqlDataAdapter ada = null;
public string Kong = "";
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
con = new SqlConnection("database=pubs;server=.;uid=sa;pwd=;");
ada = new SqlDataAdapter("select * from digui ", con);
ds = new DataSet();
ada.Fill(ds);
dt = ds.Tables[0];
foreach (DataRow row in dt.Select("parentid=0"))
{
ListItem lt = new ListItem(row["name"].ToString(), row["id"].ToString());
DropdownList1.Items.Add(lt);
digui(row["id"].ToString(),dt);
}
}
}
public void digui(string parentid,DataTable dt)
{
DataRow[] rows =dt.Select("parentid='"+parentid+"'");
if (rows.Length > 0)
{
// Kong = Kong + Server.HtmlDecode(" ");
foreach (DataRow row in rows)
{
//ListItem lt = new ListItem(Kong + row["name"].ToString(), row["id"].ToString());
ListItem lt = new ListItem(this.stradd(int.Parse(row["parentid"].ToString())) + row["name"].ToString(), row["id"].ToString());
DropdownList1.Items.Add(lt);
digui(row["id"].ToString(), dt);
}
// Kong = Kong.Remove(0, 1);
}
}
private string stradd(int num)
{
string str = "";
for (int i = 0; i < num; i++)
{
//if (num == 1 || num - i == 1)
//{
// str += "┕┅";
//}
//else
str += Server.HtmlDecode(" ");
}
return str;
}

浙公网安备 33010602011771号