第一个下拉框选择内容如果数据库中还有它的子类的话
就添加多一个下拉框 显示它的子类选项如果选择生成的下拉框选择的内容又有子类的话
有动态添加一个下拉框 显示它的子类选择一直... ...

解决方案 »

  1.   


    private void createdrop()
    {
    int i = 0;
    int k = 0;
    DataSet ds = (DataSet)ViewState["DS"];
    if(ViewState["PlaceHoldernum"] != null)
    {
    i = Convert.ToInt32(ViewState["PlaceHoldernum"].ToString());
    for(; k < i; k++)
    {
    DropDownList tmp = new DropDownList();
    tmp.ID = "drop" + k.ToString();
    switch(k % 5) 
    {
    case 0:
    utility.Method.BindList(tmp,ds.Tables[8],"");//身份类别
    break;
    case 1:
    utility.Method.BindList(tmp,ds.Tables[2],"");//学制
    break;
    case 2:
    utility.Method.BindList(tmp,ds.Tables[3]);//科别
    break;
    case 3:
    utility.Method.BindList(tmp,ds.Tables[4]);//年级
    break;
    case 4:
    utility.Method.BindList(tmp,ds.Tables[5]);//班别
    break;
    default:
    break;
    }
    PlaceHolder2.Controls.Add(tmp);
    if((k+1) % 5 == 0)
    PlaceHolder2.Controls.Add(new HtmlGenericControl("br"));
    }
    }
    }
      

  2.   

    private void Button3_Click(object sender, System.EventArgs e)
    {
    int k = Convert.ToInt32(ViewState["PlaceHoldernum"]);
    DataSet ds = (DataSet)ViewState["DS"];
    DropDownList drop1 = new DropDownList();
    drop1.ID = "drop" + k.ToString();
    utility.Method.BindList(drop1,ds.Tables[8],"");//身份类别
    PlaceHolder2.Controls.Add(drop1);
    k++;
    DropDownList drop2 = new DropDownList();
    drop2.ID = "drop" + k.ToString();
    utility.Method.BindList(drop2,ds.Tables[2],"");//学制
    PlaceHolder2.Controls.Add(drop2);
    k++;
    DropDownList drop3 = new DropDownList();
    drop3.ID = "drop" + k.ToString();
    utility.Method.BindList(drop3,ds.Tables[3]);//科别
    PlaceHolder2.Controls.Add(drop3);
    k++;
    DropDownList drop4 = new DropDownList();
    drop4.ID = "drop" + k.ToString();
    utility.Method.BindList(drop4,ds.Tables[4]);//年级
    PlaceHolder2.Controls.Add(drop4);
    k++;
    DropDownList drop5 = new DropDownList();
    drop5.ID = "drop" + k.ToString();
    utility.Method.BindList(drop5,ds.Tables[5]);//班别
    PlaceHolder2.Controls.Add(drop5);
    k++;
    PlaceHolder2.Controls.Add(new HtmlGenericControl("br"));
    ViewState["PlaceHoldernum"] = k;
    }
      

  3.   

    建议用Ajax 可满足动态添加!
      

  4.   

    可能是我的表达有不明确如:http://search1.taobao.com/browse/ad_search.htm 的   类别只是可能下拉框更多
      

  5.   

    webform:
    dropdownlist1.datasource=datatable;
    dropdownlist1.text="name";
    dropdownlist1.value="id";
    dropdownlist1.dataBind();
    <select id="sl">
    <%for(int i=0;i<dt.rows.cout;++i)%>
    <option value="<%=dt.rows[i]["id"].ToString()%>"><%=dt.rows[i]["name"].ToString()%></option>
    </select>
    ............
    winform:
    combox1.datasource=dt;
    combox1.displaymember="name";
    combox1.valuemember="id";
    .....