Click here to Skip to main content
15,887,776 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi I have used 3 dropdownlist in grid view to filter the Department Ddl is not filtering the department

What I have tried:

C#
<pre>private void BindGrid()
        {
            DataTable dt = new DataTable();
            
            string query = " select * from gvdetails17 WHERE 1=1 ";
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cn;


            if (ddlAddSalary1.SelectedValue != "" && ddlAddSalary1.SelectedValue != "--Select--")
            {
               
                string[] sal = ddlAddSalary1.SelectedValue.Split('-');
                string from = sal[0];
                string to = sal[1];


                query += " and Sal between  @fromsal and @tosal ";
                cmd.Parameters.AddWithValue("@fromsal", from);
                cmd.Parameters.AddWithValue("@tosal", to);
                
            }
            if (ddlAge.SelectedValue != "" && ddlAge.SelectedValue != "--Select--")
          
            {
               
                string[] age = ddlAge.SelectedValue.Split('-');
                string from1 = age[0];
                string to1 = age[1];

                query += " and Age between  @fromage and @toage ";
                cmd.Parameters.AddWithValue("@fromage", from1);
                cmd.Parameters.AddWithValue("@toage", to1);
                 
            }


            if (ddlDepartment.SelectedValue == "")
            {
                cmd.Parameters.AddWithValue("@DepartmentName", ddlDepartment.SelectedValue);
            }
            cmd.CommandText = query;
            cmd.CommandType = CommandType.Text;
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            gvDetails.DataSource = dt;
            gvDetails.DataBind();
        }

        protected void txt_SearchName_TextChanged1(object sender, EventArgs e)
        {
            cn.Open();
            SqlCommand cmd = new SqlCommand("select * from gvdetails17 where EmpName LIKE '% " + txt_SearchName.Text + "%'", cn);
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            gvDetails.DataSource = dt;
            cn.Close();
        }
C#
protected void ddlDepartment_SelectedIndexChanged(object sender, EventArgs e)
        {

            BindGrid();

        }
Posted
Updated 27-Feb-17 1:30am

1 solution

if (ddlDepartment.SelectedValue != "")
           {
               query += " and DepartmentName = @DepartmentName ";
               cmd.Parameters.AddWithValue("@DepartmentName", ddlDepartment.SelectedValue);
           }
 
Share this answer
 
Comments
Member 12605293 27-Feb-17 7:43am    
Hi Karthik,
Thanks.Can you address to my searching name i.e the other question which I have posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900