Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/11/2009, 11:35
lmalvarez
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 10 meses
Puntos: 0
Cambiar tipo de dato de una columna en Datagridview

Buenas,

estoy intentando cambiar el tipo de dato de una celda de un DataGridView. En dicha celda se almacena una clase, pero yo quiero que se muestre una propiedad (string), me lanza una excepción de que Clases.ProductoEnVenta no puede transformarse a System.String.

Eso lo primero, lo segundo es que quiero que se aumente el tamaño de letra de las cabeceras del datagridview. He probado con cambiar la propiedad "dataGridViewListaCompra.DefaultCellStyle.Font " pero solo me cambia el tamaño de los valores, no de la cabecera.

Ver el siguiente trozo de código. Espero que puedan ayudarme. Muchas gracias

Código C#:
Ver original
  1. dataGridViewListaCompra.DataSource = venta.LineasVenta;
  2.                                 foreach (DataGridViewColumn columna in dataGridViewListaCompra.Columns)
  3.                                 {
  4.                                     switch (columna.HeaderText)
  5.                                     {
  6.                                         case "IdLineaVenta": columna.Visible = false;
  7.                                             break;
  8.                                         case "ProductoEnVenta": columna.HeaderText = "Nombre";
  9.                                             columna.ValueType = typeof(string);
  10.                                             foreach (DataGridViewRow fila in dataGridViewListaCompra.Rows)
  11.                                             {
  12.                                                 DataGridViewCell celda = fila.Cells[columna.Index];
  13.                                                 celda.ValueType = typeof(string);
  14. // Aquí es donde intento que se muestre la propiedad
  15.                                                 celda.Value = (string)venta.LineasVenta[celda.OwningRow.Index].ProductoEnVenta.Producto.Producto.Nombre;
  16.                                             }
  17.                                             break;
  18.                                         case "Venta": columna.Visible = false;
  19.                                             break;
  20.                                     }
  21.                                 }