72 messaggi dal 28 luglio 2010
Salve a tutti, qualcuno mi sa dire come risolvere il problema seguente?

Ho una GridView con impostato

AllowPaging="true" PageSize="20"

Tutto funziona regolarmente fino a quando non filtro i dati attraverso una Select (i dati per filtrare derivano da diversi DropDownList).

In questo caso se la Grid dopo il filtro è su un unica pagina tutto funziona regolarmente, se invece la Grid filtrata supera le 20 righe al cambio della pagina il filtro non funziona più (praticamente vengono visualizzate tutte le row della Grid come se i filtri della Select al cambio pagina venisse perduta).

Vi sembrerà una domanda stupida....ma non riesco a trovare una soluzione.

Grazie a tutti.

Giorgio
sei sicuro che al cambio di pagina il valore della drop sia preso in considerazione? puoi postare un pò di codice?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
72 messaggi dal 28 luglio 2010
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

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC