Member 12605293 Ответов: 0

Girdview исчезает во время фильтрации


Привет , я использую два выпадающих списка в моем представлении сетки, и в то время как оба выпадающих списка находятся в "-- Select-- " и "--Select--", сетка должна показывать все данные,но для меня она исчезает при выборе значения в ddl перед переходом к следующему ddl для фильтрации

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

 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 != "")
            {
                gvDetails.Visible = false;
                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 != "")
            {
                gvDetails.Visible = false;
                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);
                gvDetails.Visible = true;
                
            }
            cmd.CommandText = query;
            
            cmd.CommandType = CommandType.Text;
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            gvDetails.DataSource = dt;
            gvDetails.DataBind();

        }
protected void ddlAddSalary1_SelectedIndexChanged1(object sender, EventArgs e)
        {
            
            BindGrid();
        }

protected void ddlAge_SelectedIndexChanged(object sender, EventArgs e)
        {
           

            BindGrid();
        }

Karthik_Mahalingam

какое значение вы получаете в "ddlAddSalary1.SelectedValue " во время загрузки?

Member 12605293

Изначально он пуст, он показывает "" в отладке

Karthik_Mahalingam

затем он должен отобразить все данные
запустите этот запрос в sql server и проверьте
select * from gvdetails17 WHERE 1=1

Member 12605293

Привет Karthik я решил эту проблему, добавив еще одно условие
if (ddlAddSalary1.SelectedValue != "" & & amp; ddlAddSalary1.SelectedValue ! = " --Select--"). :)

Karthik_Mahalingam

ладно, ладно.. хороший.

0 Ответов