Ciao a tutti.....
allora avrei un piccolo problema su come filtrare un datagrid legato alle sue stesse pagine.....
in pratica ho questo datagrid e gestisco quattro metodi per filtrarlo: 3 QueryString e un pulsante ....
poi gestisco l' OnPageIndexChanged inserendo nel codice la visualizzazione standard del datagrid.....
I vari "filtri" funzionano correttamente, il problema sorge se devo cambiare pagina del datagrid poichè ogni valto che cambio pagina mi restituisce la pagina senza filtro....
Vi posto il codice di come gestisco il cambio pagina:
se provo ad inserire anche una sola clausola WHERE per il filtro mi si complica tutto, perchè mi sbaglia la visualizzazione in caso effettuo un filtro invece di un altro e anche se non applico nessun filtro.....codice:myDatagrid.CurrentPageIndex = e.NewPageIndex; DataSet DSPageData = new DataSet(); MySqlConnection connection; MySqlDataAdapter adapter; string query; connection = new MySqlConnection("server=localhost; username=root; password=giovanni; database=eshop;"); query = "SELECT * FROM `products` WHERE category_id=1 ORDER BY prezzo;"; adapter = new MySqlDataAdapter(query, connection); DataSet ds = new DataSet(); adapter.Fill(ds, "monitor"); myDatagrid.DataSource = ds.Tables["monitor"].DefaultView; myDatagrid.DataBind();
tra l'altro mi da anche un errore strano, cioè se apro la pagina senza filtri (quindi il cambio pagina funziona perchè non applico alcun filtro) e per esempio vado alla seconda pagina del datagrid e provo a filtrare il datagrid tramite il pulsante mi da un errore:
Invalid CurrentPageIndex value. It must be >= 0 and < the PageCount.
Perchè??? come risolvo questi problemi???
grazie

Rispondi quotando