GridView avanzato

venerdì 28 dicembre 2007 - 22.40

kduhcm Profilo | Junior Member

Ciao ragazzi,
vorrei realizzare un GridView organizzato in questo modo:

CodiceCliente N.ro Ordine Importo
----------------- --------------- ----------
+ 001
+ 002

cliccando sul + visualizzero' gli ordini del cliente come segue:

CodiceCliente N.ro Ordine Importo
----------------- --------------- ----------
- 001
000000001 100
000000034 300
+ 002

E' possibile realizzare questo con il controllo GridView ?

alx_81 Profilo | Guru

>Ciao ragazzi,
Ciao!

>vorrei realizzare un GridView organizzato in questo modo:
>
> CodiceCliente N.ro Ordine Importo
> ----------------- --------------- ----------
>+ 001
>+ 002
>
>cliccando sul + visualizzero' gli ordini del cliente come segue:
>
> CodiceCliente N.ro Ordine Importo
> ----------------- --------------- ----------
>- 001
> 000000001 100
> 000000034 300
>+ 002
>
>E' possibile realizzare questo con il controllo GridView ?
Avevo realizzato qualcosa di simile per un elenco fatture. Clickando sul dettaglio apparivano le righe della fattura di cui prima si vede solamente la testata.
Dovresti fare un template field al cui interno metti un altro controllo (ad esempio un repeater) e gestire l'evento RowCommand al click del tuo +.
La cosa più scomoda è che in questo modo, oltre che a doverti scrivere anche una query di dettaglio, è tutto lato server, quindi hai un po' di roundtrip.

Comunque ci sono tanti link sul web, come ad esempio i seguenti:

Walkthrough: Creating a Nested GridView Control
http://msdn2.microsoft.com/en-us/library/aa992038.aspx

Master/Detail using a selectable Master Gridview and a Detail DetailsView
http://www.asp.net/learn/data-access/tutorial-10-cs.aspx

Multilevel Nested Master/Detail Data Display Using GridView
http://www.codeproject.com/KB/aspnet/MultiNestMDGridview.aspx

spero possa esserti di aiuto
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

kduhcm Profilo | Junior Member

Ciao Alex...
preferirei usare il GridView per non dover gestire il paging... negli esempi che mi hai segnalato ce n'e' uno con dei gridview nidificati, mentre tu mi sembra di aver capito che hai usato un GridView con un repeater posto nel template field... Non e' che potresti postarmi il codice che hai sviluppato tu? (Se disponibile). Dovrei sviluppare questa cosa entro fine Gennaio e sono un po preoccupato per i tempi. Inoltre poi questi dati li prendo da un WebService e dovrei anche capire se posso in qualche modo collegarli a un Datasource che sara l'input del GridView... Se non riesco a farlo dovro' gestire tutto 'manualmente' come si faceva col vecchio asp magari con un po di javascript. Calcola che i dati del web service gia li leggo e li ho messi in una collection per ora...

alx_81 Profilo | Guru

>Ciao Alex...
>preferirei usare il GridView per non dover gestire il paging...
>negli esempi che mi hai segnalato ce n'e' uno con dei gridview
>nidificati, mentre tu mi sembra di aver capito che hai usato
>un GridView con un repeater posto nel template field... Non e'
>che potresti postarmi il codice che hai sviluppato tu? (Se disponibile).
Allora, in allegato c'è il codice. Devi adattarlo un po' per un alcuni motivi. E' preso dall'applicazione, quindi devi trasformarlo per i tuoi scopi. Inoltre, come puoi notare sono due Repeater innestati. Quindi se ti serve un GridView con all'interno un repeater, basta sostituire il parent con il controllo desiderato.

>Inoltre poi questi dati li prendo da un WebService e dovrei
> anche capire se posso in qualche modo
>collegarli a un Datasource che sara l'input del GridView... Se
>non riesco a farlo dovro' gestire tutto 'manualmente' come si
>faceva col vecchio asp magari con un po di javascript.
>Calcola che i dati del web service gia li leggo e li ho messi in una
>collection per ora...

Il Web Service è basato su tecnologia MS e quindi è .net e torna tipi framework? è scritto da te oppure è di terze parti?
Perchè se hai libertà di movimento, puoi gestirtela senza alcuna fatica.. Facendoti tornare oggetti che implementano le corrette interfacce infatti, puoi passare il tipo di ritorno direttamente come DataSource.


Alx81 =)

http://blogs.dotnethell.it/suxstellino
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5