簡體   English   中英

根據從其他下拉列表中選擇的值填充一個下拉列表

[英]populate a dropdownlist according to the values selected from a different dropdownlist

我想根據從其他dropdownlist選擇的房間類型,用房間號填充dropdownlist dropdownlist 但是,從dropdown選擇房間類型后,其他dropdown dropdown的值每次都會重復。 這是sql表和程序。

Room num, Room type,  Cost,    Status
A1        AC          223     Av
B2        Non Ac      180     Av

public partial class customer_reservation : System.Web.UI.Page
{
    string connectionString = WebConfigurationManager.ConnectionStrings["newdb"].ConnectionString;
   protected void Page_Load(object sender, EventArgs e)
   { 
   }
   protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
   {

    string rval = DropDownList1.SelectedValue.ToString();

    SqlConnection con = new SqlConnection(connectionString);
    con.Open();
    string qry = "select Roomnum from room where rtype=@rval and rstatus like 'AV'";
    SqlCommand cmd = new SqlCommand(qry,con);
    cmd.Parameters.AddWithValue("@rval",rval);
    SqlDataReader rd1 = cmd.ExecuteReader();

        if (rd1.HasRows)
        {
            while (rd1.Read())
            {
                DropDownList2.Items.Add(rd1[0].ToString());
            }
        }
        con.Close();
   }
}

解決此問題的最簡單方法是清除第二個下拉列表中的項目集合,然后開始填充它。

簡單的DropDownList2.Items.Clear()應該可以解決問題。

在選定索引上的第一個下拉列表已更改

將第二個列表綁定到其數據源。

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    if(true) // your check condition
    {
     //clear previous values using .Clear()
     dropdownlist2.Items.Clear()
     //bind the second dropdownlist to new options
     //or add options
    }
}

用這個

DropDownList2.Items.Clear();

遍歷您的函數DropDownList1_SelectedIndexChanged

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList2.Items.Clear();
    string rval = DropDownList1.SelectedValue.ToString();

    SqlConnection con = new SqlConnection(connectionString);
    con.Open();
    string qry = "select Roomnum from room where rtype=@rval and rstatus like 'AV'";
    SqlCommand cmd = new SqlCommand(qry,con);
    cmd.Parameters.AddWithValue("@rval",rval);
    SqlDataReader rd1 = cmd.ExecuteReader();
    if (rd1.HasRows)
    {
        while (rd1.Read())
        {
                DropDownList2.Items.Add(rd1[0].ToString());
        }
    }
    con.Close();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM