Ciao.

Vi chiedo un aiuto a ragionare su questa GridView che deve popolarsi a secondo dei filtri applicati in delle DropDownList.

Le query condizionate funzionano, ma ho un problema perchè a secondo della DDL selezionata devo resettare le altre DDL e cioè:
[list=1][*]Se DDL1 è diversa da 0: reset su DDL3, 4 e 5;[*]Se DDL1+DDL2 sono diverse da 0: reset DDL3, 4 e 5;[*]Se DDL4 è diversa da 0: reset DDL3, 1 e 2;[*]Se DDL4+DDL5 sono diverse da 0: reset DDL3, 1 e 2;[*]Se DDL3 è diversa da 0: reset su DDL1, 2, 4 e 5;[/list=1]
Ho costruito questo codice, ma se provo a selezionare un valore da DDL3 quando DDL1 è selezionata, DDL1 non si azzera e DDL3 non rimane selezionata, perchè?
Grazie
codice:
public void GridViewBind()
    {
        if (DropDownList1.SelectedIndex != 0 && DropDownList2.SelectedIndex != 0)
        {
            sql1 = "select ... ;";
            a = "condizione 1+2 <> null";
        }
        else if (DropDownList1.SelectedIndex != 0)
        {
            sql1 = "select ...;";
            DropDownList3.SelectedIndex = -1;
            a = "condizione 1 <> null";
        }
        else
        {
            sql1 = "SELECT ... ;";
            a = "condizione tutto null";
        }

        if (DropDownList4.SelectedIndex != 0 && DropDownList5.SelectedIndex != 0)
        {
            sql1 = "select ...;";
            a = "condizione 4+5 <> null";
        }
        else if (DropDownList4.SelectedIndex != 0)
        {
            sql1 = "select ... ;";
            DropDownList3.SelectedIndex = -1;
            DropDownList1.SelectedIndex = -1;
            DropDownList2.SelectedIndex = -1;
            a = "condizione 4 <> null";
        }


        if (DropDownList3.SelectedIndex != 0)
        {
            sql1 = "SELECT ... ;";
            DropDownList1.SelectedIndex = -1;
            DropDownList2.SelectedIndex = -1;
            DropDownList4.SelectedIndex = -1;
            DropDownList5.SelectedIndex = -1;
            a = "condizione 3 <> null";
        }

        dadapter = new SqlDataAdapter(sql1, ConnSqlServer);
        dset = new DataSet();
        dset.Clear();
        dadapter.Fill(dset);
        GridView1.DataSource = dset.Tables[0];
        GridView1.DataBind();

        Response.Write(a + "
" + sql1 + "

");

    }