Filtrare i dati di una gridview "Stile Excel"

giovedì 31 gennaio 2008 - 12.20

Ciunino Profilo | Newbie

Ciao a tutti, spero che qualcuno possa darmi un aiuto... Il problema è questo:
Ho un gridview con 2 righe e 5 colonne (per esempio) come qui sotto.

| a | b | c | d | e |
| f | g | c | h | n |

Vorrei mettere nell'header (se possibile, altrimenti nella prima riga della gridview) una serie di dropdownlist con l'elenco di tutti gli elementi presenti nella colonna a cui appartiene la dropdown... (ovviamente facendo un distinct)
Cioè, nel caso dell'esempio nella prima cella dell'header la dropdown avrebbe 2 elementi ('a' ed 'f') nella seconda da 'b' e 'g', nella terza solo da 'c' e così via.
Insomma un po' come quando in excel si mettono i filtri automatici.

Qualcuno sa se è possibile fare ciò in modo un po' elegante? (E se si... mi potete dare una manina?)

Io avevo pensato a fare una serie di query su un datatable e mi riempo le dropdown, ma su tabelle con anche più di 30 campi è un po' lenta la cosa...

0v3rCl0ck Profilo | Guru

>Ciao a tutti,

Ciao

>spero che qualcuno possa darmi un aiuto... Il problema
>è questo:
>Ho un gridview con 2 righe e 5 colonne (per esempio) come qui
>sotto.
>
>| a | b | c | d | e |
>| f | g | c | h | n |
>
>Vorrei mettere nell'header (se possibile, altrimenti nella prima
>riga della gridview) una serie di dropdownlist con l'elenco di
>tutti gli elementi presenti nella colonna a cui appartiene la
>dropdown... (ovviamente facendo un distinct)
>Cioè, nel caso dell'esempio nella prima cella dell'header la
>dropdown avrebbe 2 elementi ('a' ed 'f') nella seconda da 'b'
>e 'g', nella terza solo da 'c' e così via.
>Insomma un po' come quando in excel si mettono i filtri automatici.
>
>Qualcuno sa se è possibile fare ciò in modo un po' elegante?
>(E se si... mi potete dare una manina?)

In allegato ti ho preparato un piccolo esempio, per darti una dritta. Ovviamente ci sono tanti modi per raggiungere il tuo obbiettivo, prova ad elaborare quello che ti ho preparato io.

>
>Io avevo pensato a fare una serie di query su un datatable e
>mi riempo le dropdown, ma su tabelle con anche più di 30 campi
>è un po' lenta la cosa...

Nel mio esempio ho usato funzioni "statiche", per prendere i dati distinct delle colonne, ti consiglio di fare più query a database...Altrimenti se proprio hai necessità di lavorare in memoria, ti posso passare un DataSetHelper che ti fa le select distinct su DataSet.

Spero di esserti stato di aiuto
Enjoy It
http://blogs.dotnethell.it/Regulator/

Ciunino Profilo | Newbie

Grande!!! L'esempio calza a pennello.

Ora devo solo adattare le cose alla reltàdel Db.

Grazie 1000!

P.S. Se non ti è troppo oneroso mi puoi passare anche il DatasetHelper? (Tanto per darci un'occhiata e imparare!)

Grazie!

0v3rCl0ck Profilo | Guru

>Grande!!! L'esempio calza a pennello.
>

Bene

>Ora devo solo adattare le cose alla reltàdel Db.
>
>Grazie 1000!

è un piacere

>
>P.S. Se non ti è troppo oneroso mi puoi passare anche il DatasetHelper?
>(Tanto per darci un'occhiata e imparare!)

Si, in allegato ti ho messo il file vb. Comunque lo trovi anche dal sito della microsoft link msdn: http://support.microsoft.com/kb/325688/it

>
>Grazie!

Prego
http://blogs.dotnethell.it/Regulator/

Ciunino Profilo | Newbie

Grazie 1000!!!!

0v3rCl0ck Profilo | Guru

>Grazie 1000!!!!

Prego

http://blogs.dotnethell.it/Regulator/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5