Visualizzazione righe in colonne
-
giovedì 19 gennaio 2012 10:33
Salve,
da un po' di giorni sto cercando impostare una vista senza riuscirvi. Chiedo il vostro aiuto!
Parto dai dati. Ho due tabelle una con i dati Anagrafici di pazienti ed un'altra con le Misurazioni effettuate. Di seguito alcuni campi:
Anagrafica pazienti:
Cod. Fisc.
Nome
Cognome
...
Misurazioni:
Cod. Fisc.
Cod. Misurazione
Valore Misurazione
Le due tabelle sono unite tra di loro tramite il cod. fisc. e la relazione tra le 2 tabelle è 1:n.
Vorrei tirare fuori una VISTA con due campi:
Cod. fisc
Insieme di misurazioni
Il secondo campo deve essere di tipo testo, suddiviso su quattro colonne:
Età 28 Sesso M Peso 88 PressMax 120
PressMin 80 GruppS A CircVita 90 CircTesta 60
... ... ... ...
Le misurazioni variano a seconda dei pazienti non sono fisse (per alcuni sono 10 per altri 50, altri 24,...)
Tutte le risposte
-
giovedì 19 gennaio 2012 10:41
usa un listview per visualizzare le misurazioni.
Questo controllo ti permette di specificare ogni quanti elementi raggruppare, e quindi spezzare in una nuova riga.
puoi usare dunque 2 datasource, uno con solo i codici fiscali, l'altro con la join tra i CF e tutte le misurazioni.
Con il primo datasource crei una griglia, con il secondo datasource la ListView come ti ho detto che sarà dentro la cella della griglia.
ciao
Programamtore ASP.NET
http://glucolo.wordpress.com- Modificato Glauco Cucchiar giovedì 19 gennaio 2012 12:06
-
giovedì 19 gennaio 2012 11:31
Il secondo campo deve essere di tipo testo, suddiviso su quattro colonne:
Età 28 Sesso M Peso 88 PressMax 120
PressMin 80 GruppS A CircVita 90 CircTesta 60
... ... ... ...
Ciao, cosa intendi quando dici che il secondo campo deve essere di tipo testo con quattro colonne?E soprattutto, questa cosa la stai provando a fare con una query TSQL? Perchè in quel caso il recordset è in formato tabellare (nel tuo caso si tratta di un'operazione di tipo PIVOT se ho ben capito il problema), ma non esiste in concetto di "gruppi di colonne".
Francesco Milano // .NET & SQL Server Consultant // blog // twitter
-
giovedì 19 gennaio 2012 12:08Saresti così gentile da scrivermi la sintassi
-
giovedì 19 gennaio 2012 12:20
la sintassi di cosa?
ti serve la query? i datasource? la griglia? il listview?
Programamtore ASP.NET
http://glucolo.wordpress.com -
giovedì 19 gennaio 2012 12:46Vorrei qlc indicazione su come impastare il tutto.
-
giovedì 19 gennaio 2012 13:00
Come ha già detto Glauco, sarebbe ottimo poter avere più info sullo scenario in cui ti trovi per poterti aiutare meglio.
In ogni caso, a questo link trovi info sull'operatore PIVOT di SQL Server, e in coda all'articolo dei link per poter fare PIVOT dinamico nel caso in cui tu non sappia a priori il numero di colonne (o valori) risultanti, in quanto SQL Server non supporta PIVOT dinamici (quello che in access ottieni tramite la TRANSFORM)
Ciao!
Francesco Milano // .NET & SQL Server Consultant // blog // twitter
-
giovedì 19 gennaio 2012 13:27
vado ad ipotesi, cercando di utilizzare cose semplici:
Query:
SELECT DISTINCT CodFisc
FROM AnagraficaSELECT * FROM Anagrafica a INNER JOIN Misurazioni m ON a.CodFisc = m.CodFisc
where a.Codfisc=@codFiscLa prima query la usi per un SqlDataSource semplice
il primo datasolurce lo agganci ad una gridview con due colonne:
Prima colonna visualizzi il CodiceFiscale,
seconda colonna inserisci un ListView ed il secondo datasource agganciatonell'evento rowDataBound della gridview, prelevi la chiave della griglia, la imposti come parametro al datasource, chiami il bind del listview
Non ti ho scritto nessuna riga di codice perché è abbastanza facile fare il tutto. È per te più utile provare a farlo da solo che copiare il codice.
ciao
P.S.: francesco - mi pare proprio che sia il caso di numero di colonne imprecisato. Una per ogni misurazione fatta.
Programamtore ASP.NET
http://glucolo.wordpress.com
- Modificato Glauco Cucchiar giovedì 19 gennaio 2012 13:29
-
giovedì 19 gennaio 2012 13:33ok, ci provo. Non ho mai usato queste funzionalità
-
giovedì 19 gennaio 2012 13:42
P.S.: francesco - mi pare proprio che sia il caso di numero di colonne imprecisato. Una per ogni misurazione fatta.
Si credo anche io, anche se in realtà quello dipende da quante misurazioni diverse esistono. Nel senso che se a priori hai codificato tutte le misurazioni possibili, e non prevedi di aggiungerne altre, puoi impostare una PIVOT fissa utilizzando i codici della tabella misurazioni. Se invece prevedi che queste tipologie di misurazioni possano variare di numero nel tempo allora è meglio optare da subito per una dinamica.Ciao!
Francesco Milano // .NET & SQL Server Consultant // blog // twitter
-
giovedì 19 gennaio 2012 13:48Mah! alla fine del lavoro è possibile creare una vista in SqlServer? Utilizzando il comendo Create View
-
giovedì 19 gennaio 2012 14:39
Mah! alla fine del lavoro è possibile creare una vista in SqlServer? Utilizzando il comendo Create View
Hm...cosa intendi per "fine del lavoro"? Se puoi creare una vista che contenga il codice per creare la pivot?
Il fatto è che non ho ancora capito del tutto in che situazione ti trovi, come già detto qualche info dettagliata potrebbe esserci utile per poterti aiutare.
Francesco Milano // .NET & SQL Server Consultant // blog // twitter
-
mercoledì 25 gennaio 2012 09:53Sei riuscito?
Programamtore ASP.NET
http://glucolo.wordpress.com

