149 messaggi dal 19 gennaio 2004
Ciao a tutti,
ho un problema relativamente all'utilizzo di gridview in winform in una struttura di oggetti in cui dovrei visualizzare delle proprietà di oggetti collegati.
Ho cercato e trovato alcuni articoli che lo risolvono in modi diversi.
Un modo è quello di usare l'evento formatting vedi link http://www.developer-corner.com/Resources/KnowledgeBase/tabid/118/articleType/ArticleView/articleId/28/DataGridView-how-to-bind-nested-objects.aspx ma questo mi fa perdere le impostazioni a desing di formatting per esempio per le date.

Un'altra soluzione è questa: http://blogs.msdn.com/msdnts/archive/2007/01/19/how-to-bind-a-datagridview-column-to-a-second-level-property-of-a-data-source.aspx

Avete altre soluzioni o consigli?
Grazie
Simone
Modificato da Simone77 il 27 novembre 2008 16.38 -
Ciao,

io solitamente per gestire i casi di composition uso un approccio un po' più semplice, ossia:
1) se devo solo visualizzare l'address, effettuo l'override del ToString e pertanto lo mostro in una singola colonna.
2) se devo supportare anche l'editing, creo un oggetto wrapper che espone le singole proprietà, es.
public class PersonDTO
{
  private Person innerPerson;
  public string Name
  {
     get { return innerPerson.Name; }
     set { innerPerson.Name = value; }
  }

  // ...
  public string Street
  {
    get { return innerPerson.Address.Street; }
    set { innerPerson.Address.Street = value; }
  }
}


In ogni modo, 9 volte su 10 non ne ho bisogno, perchè raramente mi sono trovato a fare l'edit in una grid, più spesso questo avviene in una From separata, che magari include uno UserControl per l'edit dell'indirizzo, con una proprietà di tipo Address a cui fornire l'indirizzo da modificare.

Spero che più o meno sia riuscito a spiegarmi.

A presto,
m.

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.