在dropdownlist中树形级别显示列表

代码比较简单。就是从一个dataset中取得了有父子关系的类别。然后在dropdownlist中显示,并且显示级别关系,像树形一样。 写了两个方法,第二个方法是递归,其实一个递归方法也可以,但是不清楚了。
#region 类型显示
 public void LoadType()
{
DataRow[] drs = ds.Tables[0].Select("ParentK_TypeID = 0 ");
if (drs != null && drs.Length != 0)
 {
 foreach (DataRow dr in drs)
 {
 sb = new StringBuilder();
 cc = 1;
 ListItem li = new ListItem();
 li.Text = dr["K_TypeName"].ToString();
 li.Value = dr["K_TypeID"].ToString();
 this.dropKType.Items.Add(li);
 LoadChildType(dr["K_TypeID"].ToString());
 }
 }
 }
 StringBuilder sb = null;
 int cc = 1;
 public void LoadChildType(string parentID)
 {
 sb.Append("----");
 
 DataRow[] drs = ds.Tables[0].Select("ParentK_TypeID = " + parentID);
 if (drs != null && drs.Length != 0)
 {
 cc += 1;
 foreach (DataRow dr in drs)
 {
 ListItem li = new ListItem();
 li.Text = sb.ToString() + dr["K_TypeName"].ToString();
 li.Value = dr["K_TypeID"].ToString();
 this.dropKType.Items.Add(li);
 LoadChildType(dr["K_TypeID"].ToString());
 }
 }
 else
 {
 cc -= 1;
 string temp = sb.ToString().Substring(0, sb.ToString().Length - 4*cc);
 sb.Remove(0, sb.ToString().Length);
 sb.Append(temp);
 return;
 }
 }
 #endregion

本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

原文地址:https://www.cnblogs.com/zjypp/p/2319440.html