Posto il codice (versione grezza i vari array verranno sostituiti da DB).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Lista_Auto : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DropDownList1_OnSelectedIndexChanged(object sender, EventArgs e)
{
GridView1.AllowPaging = true;
string[] NullArray = new string[] { "Selezionare Modello" };
string[] AlfaArray = new string[] { "Seleziona modello", "147", "159", "166", "MiTo", "Giulietta", "GT", "Brera", "Spider", "Tutti i modelli" };
string[] AudiArray = new string[] { "Seleziona modello", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "Q5", "Q7", "R8", "TT", "Tutti i modelli" };
string[] BmwArray = new string[] { "Seleziona modello", "Serie 1", "Serie 3", "Serie 5", "Serie 6", "Serie 7", "X1", "X3", "X5", "X6", "Z3", "Z4", "Tutti i modelli" };
string[] ChryslerArray = new string[] { "Seleziona modello", "PT Cruiser", "Tutti i modelli" };
string[] CitroenArray = new string[] { "Seleziona modello", "C1", "C2", "C3", "C4", "C5", "Tutti i modelli" };
string[] FiatArray = new string[] { "Seleziona modello", "500", "Seicento", "Panda", "Punto", "Grande Punto", "Idea", "Stilo", "Multipla", "Croma", "Doblò", "Tutti i modelli" };
string[] FordArray = new string[] { "Seleziona modello", "Ka", "Fiesta", "Focus", "Mondeo", "C-Max", "S-Max", "Galaxy", "Tutti i modelli" };
string[] JaguarArray = new string[] { "Seleziona modello", "X-Type", "XK", "XJ", "Tutti i modelli" };
string[] LanciaArray = new string[] { "Seleziona modello", "Y10", "Y", "Ypsilon", "Delta", "Musa", "K", "Thesis", "Thema", "Phedra", "Tutti i modelli" };
string[] MercedesArray = new string[] { "Seleziona modello", "Classe A", "Classe B", "Classe C", "Classe E", "Classe S", "Classe M", "Classe R", "SLK", "CLK", "GLK", "Tutti i modelli" };
string[] MiniArray = new string[] { "Seleziona modello", "Berlina", "Station", "Cabrio", "Crossover", "Tutti i modelli" };
string[] OpelArray = new string[] { "Seleziona modello", "Agila", "Corsa", "Astra", "Tigra", "Zafira", "Tutti i modelli" };
string[] PeugeotArray = new string[] { "Seleziona modello", "107", "206", "207", "306", "307", "407", "Tutti i modelli" };
string[] PorscheArray = new string[] { "Seleziona modello", "Boxter", "911", "911 Cabriolet", "911 Turbo", "911 Turbo Cabriolet", "Cayene", "Tutti i modelli" };
string[] RenaultArray = new string[] { "Seleziona modello", "Twingo", "Clio", "Megane", "Scenic", "Laguna", "Espace", "Tutti i modelli" };
string[] SeatArray = new string[] { "Seleziona modello", "Ibiza", "Leon", "Exeo", "Altea", "Alhambra", "Tutti i modelli" };
string[] SmartArray = new string[] { "Seleziona modello", "For Two", "For Four", "Tutti i modelli" };
string[] ToyotaArray = new string[] { "Seleziona modello", "iQ", "Aygo", "Yaris", "Auris", "Prius", "Avensis", "Verso", "RAV4", "Urban Cruiser", "Land Cruiser", "Tutti i modelli" };
string[] VolkswagenArray = new string[] { "Seleziona modello", "Polo", "Golf", "Passat", "Touran", "Sharan", "Tiguan", "Tuareg", "Tutti i modelli" };
string[] VolvoArray = new string[] { "Seleziona modello", "C30", "V50", "V70", "XC60", "Tutti i modelli" };
DropDownList3.SelectedIndex = 0;
if (DropDownList1.SelectedIndex != 0)
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` WHERE (((([Marca] = '" + DropDownList1.SelectedValue + "' )))) ORDER BY [Modello]";
if (DropDownList1.SelectedValue == "Alfa Romeo")
{
DropDownList2.DataSource = AlfaArray;
}
else if (DropDownList1.SelectedValue == "Audi")
{
DropDownList2.DataSource = AudiArray;
}
else if (DropDownList1.SelectedValue == "Bmw")
{
DropDownList2.DataSource = BmwArray;
}
else if (DropDownList1.SelectedValue == "Chrysler")
{
DropDownList2.DataSource = ChryslerArray;
}
else if (DropDownList1.SelectedValue == "Citroen")
{
DropDownList2.DataSource = CitroenArray;
}
else if (DropDownList1.SelectedValue == "Fiat")
{
DropDownList2.DataSource = FiatArray;
}
else if (DropDownList1.SelectedValue == "Ford")
{
DropDownList2.DataSource = FordArray;
}
else if (DropDownList1.SelectedValue == "Jaguar")
{
DropDownList2.DataSource = JaguarArray;
}
else if (DropDownList1.SelectedValue == "Lancia")
{
DropDownList2.DataSource = LanciaArray;
}
else if (DropDownList1.SelectedValue == "Mercedes")
{
DropDownList2.DataSource = MercedesArray;
}
else if (DropDownList1.SelectedValue == "Mini")
{
DropDownList2.DataSource = MiniArray;
}
else if (DropDownList1.SelectedValue == "Opel")
{
DropDownList2.DataSource = OpelArray;
}
else if (DropDownList1.SelectedValue == "Peugeot")
{
DropDownList2.DataSource = PeugeotArray;
}
else if (DropDownList1.SelectedValue == "Porsche")
{
DropDownList2.DataSource = PorscheArray;
}
else if (DropDownList1.SelectedValue == "Renault")
{
DropDownList2.DataSource = RenaultArray;
}
else if (DropDownList1.SelectedValue == "Seat")
{
DropDownList2.DataSource = SeatArray;
}
else if (DropDownList1.SelectedValue == "Smart")
{
DropDownList2.DataSource = SmartArray;
}
else if (DropDownList1.SelectedValue == "Toyota")
{
DropDownList2.DataSource = ToyotaArray;
}
else if (DropDownList1.SelectedValue == "Volkswagen")
{
DropDownList2.DataSource = VolkswagenArray;
}
else if (DropDownList1.SelectedValue == "Volvo")
{
DropDownList2.DataSource = VolvoArray;
}
else if (DropDownList1.SelectedValue == "Tutte le marche")
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` ORDER BY [Marca], [Modello]";
DropDownList1.SelectedIndex = 0;
DropDownList2.DataSource = NullArray;
}
DropDownList2.DataBind();
}
else
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` ORDER BY [Marca], [Modello]";
DropDownList2.DataSource = NullArray;
DropDownList2.DataBind();
}
}
protected void DropDownList2_OnSelectedIndexChanged(object sender, EventArgs e)
{
DropDownList3.SelectedIndex = 0;
if ((DropDownList2.SelectedValue != "Tutti i modelli") && (DropDownList2.SelectedIndex != 0))
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` WHERE (((([Modello] = '" + DropDownList2.SelectedValue + "' ))))";
}
else
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` WHERE (((([Marca] = '" + DropDownList1.SelectedValue + "' )))) ORDER BY [Modello]";
DropDownList2.SelectedIndex = 0;
}
}
protected void DropDownList3_OnSelectedIndexChanged(object sender, EventArgs e)
{
GridView1.AllowPaging = false;
if ((DropDownList3.SelectedValue != "Tutti gli anni") && (DropDownList3.SelectedIndex != 0))
{
if (DropDownList1.SelectedIndex == 0)
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` WHERE (((([AnnoImmatricolazione] >= '" + DropDownList3.SelectedValue + "' )))) ORDER BY [Marca], [Modello]";
}
else if ((DropDownList1.SelectedIndex != 0) && (DropDownList2.SelectedIndex == 0))
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` WHERE (((([AnnoImmatricolazione] >= '" + DropDownList3.SelectedValue + "' )) AND (([Marca] = '" + DropDownList1.SelectedValue + "' )))) ORDER BY [Marca], [Modello]";
}
else if ((DropDownList1.SelectedIndex != 0) && (DropDownList2.SelectedIndex != 0))
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` WHERE (((([AnnoImmatricolazione] >= '" + DropDownList3.SelectedValue + "' )) AND (([Marca] = '" + DropDownList1.SelectedValue + "' )) AND (([Modello] = '" + DropDownList2.SelectedValue + "' )))) ORDER BY [Marca], [Modello]";
}
}
else
{
if (DropDownList1.SelectedIndex == 0)
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` ORDER BY [Marca], [Modello]";
DropDownList3.SelectedIndex = 0;
}
else if ((DropDownList1.SelectedIndex != 0) && (DropDownList2.SelectedIndex == 0))
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` WHERE (((([Marca] = '" + DropDownList1.SelectedValue + "' )))) ORDER BY [Marca], [Modello]";
}
else if ((DropDownList1.SelectedIndex != 0) && (DropDownList2.SelectedIndex != 0))
{
AccessDataSource1.SelectCommand = "SELECT `ID`, `Foto`, `Auto`, `Marca`, `Modello`, `Codice`, `TipoVeicolo`, `Alimentazione`, `Potenza`, `Cilindrata`, `Consumo`, `ClasseEmissione`, `AnnoImmatricolazione`, `DataImmatricolazione`, `Chilometri`, `Colore`, `Interni`, `Cambio`, `Marce`, `Porte`, `Descrizione1`, `Descrizione2`, `Descrizione3`, `Garanzia`, `Prezzo`, `Prezzo1`, `Riserva1`, `Riserva2`, `Scheda` FROM `Auto` WHERE (((([Marca] = '" + DropDownList1.SelectedValue + "' )) AND (([Modello] = '" + DropDownList2.SelectedValue + "' )))) ORDER BY [Marca], [Modello]";
}
}
}
}
Grazie!
Nota - Per caso devo mettere i vari if nella Page_Load?
Giorgio