15 messaggi dal 19 luglio 2006
Buongiorno,
ho 2 tabelle anagtab (anagrafica) e timbrat (con le timbrature dei dipendenti)
I campi di anagrafica sono: id, Matricola, nome dipendente
I campi di timbrat sono: id, Matricola, Data, Ora

Con la query seguente:
SELECT timbrat.Ora, timbrat.Data FROM timbrat INNER JOIN anagtab ON timbrat.Matricola = anagtab.Matricola WHERE (timbrat.Data > CONVERT (DATETIME, '2015-01-10 00:00:00', 102)) AND (timbrat.Matricola = 66)

Ottengo le timbrature della matricola specificata a partire dal 10 gennaio nella forma seguente

data1-ora1
data1-ora2
data1-ora3
data1-ora4
data2-ora1
data2-ora2
data3-ora1
data3-ora2
data3-ora3
data3-ora4
data3-ora5
data3-ora6

Io vorrei visualizzare il risultato con una gridview come segue:

data1-ora1-ora2-ora3-ora4
data2-ora1-ora2
data3-ora1-ora2-ora3-ora4-ora5-ora6

Qualche suggerimento ? Grazie 1000
Recupera i dati dal db e sistemali in una collection ad hoc come ad esempio una classe Timbratura con prorpietà data, ora1, ora2, ora3, ora4 oppure Dictionary per data. Poi effettui il databind di questa nuova collection

Ormai programmano tutti... ma la professionalità appartiene a pochi
15 messaggi dal 19 luglio 2006
Intanto grazie per la risposta.
Avrei bisogno di qualche dritta in più: infatti non riesco a capire come posso raggruppare diversamente i dati estratti con la query dalla tabella timbrat e contenuti nei 2 campi (Data, Ora)

15/01/2015 (Data) - 08:30 (Ora)
15/01/2015 (Data) - 12:30 (Ora)
15/01/2015 (Data) - 14:30 (Ora)
15/01/2015 (Data) - 18:30 (Ora)

per visualizzarli ad esempio come segue:

15/01/2015 (Data) 8:30 (Ingresso) 12:30 (Uscita) 14:30 (Ingresso) 18:30 (Uscita)

Potresti postare un po' di codice di esempio perchè io possa approfondire? Grazie
Potresti creare una classe Timbratura con 3 proprietà DateTime
Ora1, Ora2, Ora3 dove per convenzione potresti usare giorno, mesem anno di Ora1 come data.
Quando recuperi i tuoi dati da database, (non so se usi un ORM), altrimenti hai un datareader. Cicli le row (trovi tanti esempi in internet di ADO.NET) e popoli una List<Timbratura>. Poi effettui il databind della tua GridView o Repeater a questa List.

Ormai programmano tutti... ma la professionalità appartiene a pochi

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.