2009-05-13 15 views
5

Sono in grado di associare il mio DataGrid in .NET 3.5 CF a un elenco() ma non riesco a formattare le colonne specificandone la larghezza. Di seguito è riportato il codice che dovrebbe funzionare ma non lo fa. Sono abbastanza sicuro di non impostare correttamente MappingName poiché tutti i tutorial ti dicono di impostare il nome del tuo DataTable ma non sono vincolante per un DataTable, quindi non sono sicuro di cosa fare.Che cos'è il DataGrid MappingName per un DataSource non DataTable?

  grdBatch.DataSource = InventoryItems; 

     DataGridTableStyle tableStyle = new DataGridTableStyle(); 
     tableStyle.MappingName = InventoryItems.ToString(); 
     DataGridTextBoxColumn tbcName = new DataGridTextBoxColumn(); 
     tbcName.Width = 400; 
     tbcName.MappingName = "SERIAL_ID"; 
     tbcName.HeaderText = "SERIAL_ID"; 
     tableStyle.GridColumnStyles.Add(tbcName); 
     grdBatch.TableStyles.Clear(); 
     grdBatch.TableStyles.Add(tableStyle); 

grdBatch è un DataGrid e InventoryItems è una lista di POCOS (Plain Old C# Objects).

risposta

15

Cambio:

tableStyle.MappingName = InventoryItems.ToString(); 

a

tableStyle.MappingName = InventoryItems.GetType().Name; 
+0

Questo è esattamente quello che stavo per scrivere. +1. –

+0

ha funzionato come un fascino. –

Problemi correlati