Dropdownlist选择的值不是过滤 [英] Dropdownlist selected value not filtering

查看:65
本文介绍了Dropdownlist选择的值不是过滤的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我已将下拉列表中的值绑定为'10 -20',20-30,30,40,当我在下拉列表中选择值时,它不会过滤



Hi I have binded the values in dropdownlist like '10-20',20-30,30,40 and when I select the value in dropdownlist it is not filtering

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();
            }





我的尝试:





What I have tried:

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();
            }
        }

推荐答案

试试这样

try like this
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); 
            }


这篇关于Dropdownlist选择的值不是过滤的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆