Filtrare un dataset

martedì 22 aprile 2008 - 17.49

bluland Profilo | Guru

Salve,

ho un dataset a cui devo fare 2 o 3 filtri e per ogni vorrei creare un nuovo datatable, nel senso vorrei copiare il risultato del filtro in un altro datatable da filtrare successivamente.


ho provato in questo modo

ds.Tables.Add(ds.Tables["pippo"].Select("[Classification] = 'Defect' OR [Classification] = 'Damage' OR [Fault] = 'Transport"));

ma e' sbagliato

Idee su come fare?


Ciao


--------------------
Vincenzo PESANTE
System Engineer

0v3rCl0ck Profilo | Guru

>Salve,

Ciao

>
>ho un dataset a cui devo fare 2 o 3 filtri e per ogni vorrei
>creare un nuovo datatable, nel senso vorrei copiare il risultato
>del filtro in un altro datatable da filtrare successivamente.
>
>
>ho provato in questo modo
>
>ds.Tables.Add(ds.Tables["pippo"].Select("[Classification] = 'Defect'
>OR [Classification] = 'Damage' OR [Fault] = 'Transport"));
>
>ma e' sbagliato
>
>Idee su come fare?

Se ti è sufficiente avere delle viste potresti crearti tanti DataView. (http://msdn2.microsoft.com/en-us/library/system.data.dataview_members.aspx)

Esempio:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Oppure devi crearti nuove tabelle, clonare la struttura di quella di partenza, e importaci le righe.

Esempio:

DataTable dt1 = ds.Tables["pippo"].Clone(); DataTable dt2 = ds.Tables["pippo"].Clone(); DataTable dt3 = ds.Tables["pippo"].Clone(); // Filtro 1 foreach (DataRow dr in ds.Tables["pippo"].Select("#NomeColonna# = #Valore#")) { dt1.ImportRow(dr); } // Filtro 2 foreach (DataRow dr in ds.Tables["pippo"].Select("#NomeColonna# = #Valore#")) { dt2.ImportRow(dr); } // Filtro 3 foreach (DataRow dr in ds.Tables["pippo"].Select("#NomeColonna# = #Valore#")) { dt3.ImportRow(dr); }

>
>
>Ciao

Spero di esserti stato utile
Ciao

- Michael -
http://blogs.dotnethell.it/Regulator/

bluland Profilo | Guru

Cerco di spiegarmi meglio,

diciamo che dal dataset1 creo tabella filtro1,
ora da tabella filtro1 devo creare filtro2


Per questo devo crearmi n tabelle

Ciao grazie
--------------------
Vincenzo PESANTE
System Engineer

bluland Profilo | Guru

Non avevo letto la seconda soluzione

Esatto proprio quello che cercavo


grazie
--------------------
Vincenzo PESANTE
System Engineer

0v3rCl0ck Profilo | Guru

Bene


- Michael -
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