Problema: Estrarre solo le righe figlio dati una serie di filtri per l...

giovedì 17 maggio 2007 - 13.52

aj27m01 Profilo | Newbie

Ciao,
sono nuovo del forum, ma spero che mi possiate aiutare.

Supponete di avere le classiche tabelle Ordini e DettagliOrdine. In un form che visualizza il tutto con due DataGrid ho predisposto una serie di filtri perchè l'utente ricerchi solo gli Ordini che gli interessano (nella query del TableAdapter ci sono dei Where con parametro filtro @Id, @Data, ecc...). e sotto le relative righe di dettaglio. Fill degli ordini...tutto bene! Ottengo le righe giuste.
Ora però vorrei estrarre da DettagliOrdine solo le righe che corrispondono agli ordini che sono stati estratti in base ai filtri.

Non vorrei lanciare il Fill di DettagliOrdine quando l'utente clicca sulla righa dellaDataGrid dell'ordine che gli interessa, ma precaricare subito tutte le righe che appartengono agli ordini estratti. Se no non ha senso usare ADO.Net e i recordset "scollegati" se ad ogni clic dell'utente riaccedo al DB per ottenere le righe giuste di volta in volta!!!

Come cacchio faccio ???

Ciao a tutti e grazie

0v3rCl0ck Profilo | Guru

Ciao,

puoi farlo utilizzando un DataSet con dentro 2 DataTable, uno per gli ordini e l'altro per i dettagli, poi crei una relazione sul DataSet tra le due tabelle sulla colonna Id e poi per ogni riga della tabella Padre cioè la Ordini hai la possibilità di lanciare la funzione GetChildRows, passargli come parametro il nome della relazione, e lui ti tornerà un array di righe figlio, che potrai direttamente assegnare ad un DataSource di un'altra griglia.

ecco un esempio:

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

se nel codice ho fatto qualche errore scusami ma l'ho scritto al volo senza provare.


Spero di esserti stato utile
Saluti
Enjoy It
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