Master - Detail e DataGridView

lunedì 02 giugno 2008 - 07.43

lolic Profilo | Newbie

Ciao,
nella mia applicazione ho delle classi in relazione uno a molti tra di loro. Quanto voglio fare è riuscire a visualizzare, solo in read only, i dati relativi al record master e in una colonna della tabella visualizzare anche tutti i dati relativi ai figli.
E' come impostare il databinding di un colonna della dabella alla proprietà dell'oggetto master che ritorna la lista dei figli.

Potrei usare l'evento CellFormatting ma vorrei automatizzare un po' la cosa.
E' possibile ad esempio definitere un TypeConverter di un IList<entity> ?

Grazie.

freeteo Profilo | Guru

ciao,
qualcosa di già fatto non c'è, puoi però estenderti la colonna della grdiview "DataGridViewColumn", e dirgli che la visualizzazione degli elementi delle celle è fatta da un'altra tua classe, che questa volta estende "DataGridViewTextBoxCell".
Ed in quest'ultima, il "FormattedValue" viene fatto da codice come stringa, tradotto in codice:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

A designer nella tua griglia gli metti che la colonna sia quella tua ovvero "ColonnaLista", che a sua volta ha come visualizzatore di cella la "CellaLista":

800x600 74Kb


Come vedi l'esempio genera una stringa, ma puoi decidere di fare anche altro per visualizzare i dati come vuoi, ad esempio una listView etc...però allora devi estendere anche la listbox, e dargli le proprietà e i metodi per poter essere incastrata nella cella della griglia.
La cosa non è troppo complessa, ma vuole cmq 1po di codice...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

lolic Profilo | Newbie

Scusa se rispondo solo ora.

Grazie dell'esempio di codice. Ora però devo anche vedere come applicare quanto da te indicato su controlli di terze parti, spero vi sia la stessa possibilità.
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