2009-05-13 12 views
5

Puedo enlazar mi DataGrid en .NET 3.5 CF a una lista() pero no puedo formatear las columnas especificando su ancho. A continuación se muestra el código que parece que debería funcionar pero no funciona. Estoy bastante seguro de que no estoy configurando MappingName correctamente, ya que todos los tutoriales te dicen que lo configures con el nombre de tu DataTable, pero no estoy vinculando a DataTable, así que no estoy seguro de qué hacer.¿Qué es DataGrid MappingName para un DataSource no 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 es una cuadrícula de datos y InventoryItems es una lista de Pocos (Plain Old objetos de C#).

Respuesta

15

Cambio:

tableStyle.MappingName = InventoryItems.ToString(); 

a

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

Esto es exactamente lo que iba a escribir. +1. –

+0

funcionó como un encanto. –

Cuestiones relacionadas