Dropdownlist选择的值不是过滤 [英] Dropdownlist selected value not filtering
本文介绍了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屋!
查看全文