Raggruppamento Dati

lunedì 02 aprile 2012 - 13.15
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Visual Studio 2010  |  SQL Server 2008

darkeric Profilo | Senior Member

Ciao

ho una tabella che contiene dei valori che vorrei raggruppare e rappresentare
in un oggetto repeater, data list o listview

l'archivio presenta una serie di dati che vorrei raggruppare
in base al valore di uno dei campi.

giro:1
nome:ciccio

giro:1
nome:franco

giro:2
nome:ciccio
giro:2
nome:michele

vorrei rappresentarli cosi:

giro 1:
ciccio
franco

giro 2:
ciccio
michele


devo configurare il contenitore (datalist listview etc,)?
o basta una query con group by) (che premetto l'ho provata ma non mi funziona)





Programmatore per passione!

alx_81 Profilo | Guru

>Ciao
Ciao

>ho una tabella che contiene dei valori che vorrei raggruppare
>e rappresentare in un oggetto repeater, data list o listview
>l'archivio presenta una serie di dati che vorrei raggruppare
>in base al valore di uno dei campi.

>devo configurare il contenitore (datalist listview etc,)?
>o basta una query con group by) (che premetto l'ho provata ma non mi funziona)
se fai group by non ti cambia niente. Questo è un problema di layouting e quindi non deve essere il db ad occuparsene.
Tu devi garantire all'applicazione un resultset snello che lei possa consumare come meglio crede.
Io farei un mio modello fatto come serve (parent-->child) e poi passerei il modello al repeater.
Oppure puoi provare a seguire questo link, ancora più semplice: http://www.codeproject.com/Articles/6140/A-quick-guide-to-using-nested-repeaters-in-ASP-NET

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

darkeric Profilo | Senior Member

Ok grazie per la risposta

il problema è che non ho molta fmailiarità con questo tipo di approccio

quali strumenti dovrei utilizzare per ottenere il modello Parent->Child
che hai menzionato?

attendo tue notizie!

Ciao

Programmatore per passione!

alx_81 Profilo | Guru

>Ok grazie per la risposta
>
>il problema è che non ho molta fmailiarità con questo tipo di
>approccio
>
>quali strumenti dovrei utilizzare per ottenere il modello Parent->Child
>che hai menzionato?
Di certo non ti devi preoccupare di dare da db una struttura fatta come serve in layout.
Quindi passa all'applicazione le righe che ti servono (mi viene da dire una o più join), cercando di tenere un resultset non troppo grande, per almeno due motivi:
- download di dati (il web server ne risente se gli utenti non sono pochi)
- tempo conseguente di renderizzazione della pagina

una volta fatta la query, il resultset tornato deve essere adattato ad un oggetto che poi sarà la sorgente del repeater.
Da lì poi scrivi il template come indicato nel link.
Provaci, se proprio non riesci cerco di farti un esempio.

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

darkeric Profilo | Senior Member


>una volta fatta la query, il resultset tornato deve essere adattato
>ad un oggetto che poi sarà la sorgente del repeater.

ecco mi manca l'oggetto

cosa dovrei usaro come sorgente del repeater?

Programmatore per passione!

alx_81 Profilo | Guru

>cosa dovrei usaro come sorgente del repeater?
presente il data source? ecco.. può essere un dataset, un datatable o un oggetto che implementa l'interfaccia IEnumerable..
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

darkeric Profilo | Senior Member

so che deve usare uno oggetto da agganciare al repeater
ma come faccio a raggruppare i dati restituiti dalla query?

pensavo ci fosse un' oggetto specifico per far questo
tipo entity model o linq ma ho provato e non riesco.

Perdonami ma avrei bisogno di un aiuto
più specifico

se ne hai tempo e voglia mi butteresti giù un piccolo esempio o mi descriveresti come fare?


Programmatore per passione!

darkeric Profilo | Senior Member

Allora:

Ho trovato una soluzione
sicuramente non sarà splendida ma funziona e per adesso non mi pongo il problema

in pratica metto 1 Datalist agganciato a un sqldatasource con una Select distinct del campo giro
all' interno dell itemtemplate aggiungo un' altro datalist agganciato a un altro sqldatasource che filtra invece il nome
in base al valore della label del datalist1

come ti sembra?


Programmatore per passione!

alx_81 Profilo | Guru

>in pratica metto 1 Datalist agganciato a un sqldatasource con
>una Select distinct del campo giro
>all' interno dell itemtemplate aggiungo un' altro datalist agganciato
>a un altro sqldatasource che filtra invece il nome
>in base al valore della label del datalist1
>come ti sembra?
può anche andare come workaround, forse sarà un pochino pesante, però se guardi l'esempio che ti ho linkato, semplicemente, dal datasource iniziale viene estratto il record che serve nel dettaglio.
Comunque se ti funziona come hai fatto e non ti dà problemi, segui pure quella soluzione.

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5