无限分类在下拉列表框中树型显示,怎么做啊,急!急!

解决方案 »

  1.   

    public IList GetTreeFolders(int userid,FolderInfo folderInfo)
    {
    IList folders = new ArrayList();
    folders.Add(folderInfo); SqlParameter[] parms = new SqlParameter[]
    {
    new SqlParameter(PARM_PARENTID,SqlDbType.Int),
    new SqlParameter(PARM_ADDUSER,SqlDbType.Int)
    }; parms[0].Value = folderInfo.Id;
    parms[1].Value = userid;

    using (SqlDataReader rdr = SQL.ExecuteReader(SQL.CONN_STRING, CommandType.Text, SQL_SELECT_FOLDERS_BY_PARENTID, parms)) 
    {
    while (rdr.Read())
    {
    FolderInfo fi = new FolderInfo(Convert.ToInt32(rdr["ID"]), folderInfo.Name + "\\" + rdr["Name"].ToString());
    //读取子目录
    IList subfolders = GetTreeFolders(userid,fi);
    for(int i = 0;i < subfolders.Count;i++)
    folders.Add(subfolders[i]);
    }
    } return folders;
    }能看明白么?从我的程序copy了一段。就是一个递归调用。int userid(这里没有用),FolderInfo folderInfo(父文件夹的信息)
    SQL_SELECT_FOLDERS_BY_PARENTID = "Select * From Folders Where ParentID = @ParentID And AddUser = @AddUser Order By Name";
      

  2.   

    楼上的代码太复杂,无限分级用递归是个很好的方法,建议楼主去搜搜关于Asp.net 1.1的Treeview控件的用法,那里就有一个很好好的例子