用dropdownlist 显示层次结构

  新建两个方法 

public void initlist(ListControl list)
    {
        DataSet ds = getcategorys();
        if (ds == null) { return; }
        if (ds.Tables.Count <= 0) { return; }
        DataTable dt = ds.Tables[0];
        list.Items.Clear();
        DataRow[] rowlist = dt.Select("parentID='0'", "showorder");
        if (rowlist.Length < 1) { return; }
        string name = string.Empty;
        string value = string.Empty;
        foreach (DataRow row in rowlist)
        {
            name = "|--" + row["name"].ToString();

            value = row["ID"].ToString();
            createsub(list, dt, row["ID"].ToString(), name);
        }
    }
    private void createsub(ListControl list, DataTable dt, string parentvalue, string parentname)
    {
        DataRow[] rowlist = dt.Select("parentID='" + parentvalue + "'", "showorder");
        string name = string.Empty;
        string value = string.Empty;
        foreach (DataRow row in rowlist)
        {
            name = parentname + "|--" + row["name"].ToString();
            value = row["ID"].ToString();
            list.Items.Add(new ListItem(name, value)); createsub(list, dt, row["ID"].ToString(), name);
        }
    }

CS后台调用方法

 private void bind2() { yingda yda = new yingda(); yda.initlist(DropDownList1); if (DropDownList1.Items.Count > 0) { DropDownList1.SelectedIndex = 0; } }
}

 

你可能感兴趣的:(list)