Member 12605293 Ответов: 1

Выпадающий список выбранное значение не фильтруется


Привет , я связал значения в выпадающем списке, такие как "10-20", 20-30, 30, 40, и когда я выбираю значение в выпадающем списке, оно не фильтруется

protected void ddlAge_SelectedIndexChanged(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();


            cn.Open();
            if (ddlAge.SelectedValue != "")
            {
                SqlCommand cmd = new SqlCommand("select * from gvdetails17 WHERE (Age BETWEEN '20' AND '30') OR (Age BETWEEN '30' AND '40') OR (Age BETWEEN '40' AND '50') OR (Age BETWEEN '50' AND '60')", cn);



                cmd.Parameters.AddWithValue("@Age", ddlAge.SelectedValue);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt);
            }
            else
            {
                SqlCommand cmd = new SqlCommand("select * from gvdetails17", cn);
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(dt);
                }
                cn.Close();
                gvDetails.DataSource = dt;
                gvDetails.DataBind();
            }


Что я уже пробовал:

protected void BindAge()
        {
               
                
                       

            DataTable dt = new DataTable();
            cn.Open();
            SqlCommand cmd = new SqlCommand("Select * from Age", cn);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            //DataSet ds = new DataSet();
            da.Fill(dt);
            cn.Close();
            ddlAge.DataSource = dt;
            ddlAge.DataTextField = "Age";
            ddlAge.DataValueField = "Age";
            ddlAge.DataBind();
            ddlAge.Items.Insert(0, new ListItem("All", ""));
            
        }


protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Bind();
                BindAge();
            }
        }

1 Ответов

Рейтинг:
10

Karthik_Mahalingam

попробуй вот так

if (ddlAge.SelectedValue != "")
            {
                string[] ages = ddlAge.SelectedValue.Split('-');
                string from = ages[0];
                string to = ages[1];

                SqlCommand cmd = new SqlCommand("select * from gvdetails17 WHERE Age between  @from and @to", cn);
                cmd.Parameters.AddWithValue("@from", from);
                cmd.Parameters.AddWithValue("@to",  to);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt); 
            }