Foros del Web » Programación para mayores de 30 ;) » .NET »

C# Problema con DataGridViewImageColumn

Estas en el tema de C# Problema con DataGridViewImageColumn en el foro de .NET en Foros del Web. Hola, estoy haciendo una aplicación en C# en la que, entre otros controles, utilizo un DataGridView. En este DataGridView tengo una columna con el Column ...
  #1 (permalink)  
Antiguo 07/12/2011, 05:24
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 3 meses
Puntos: 0
C# Problema con DataGridViewImageColumn

Hola,

estoy haciendo una aplicación en C# en la que, entre otros controles, utilizo un DataGridView.

En este DataGridView tengo una columna con el Column Type definido a DataGridViewImageColumn.

Me funciona perfectamente en las filas que inserto mediante código generado por mi.
No obstante, en las filas que se introducen por defecto me sale un error en la celda de la imagen (la típica x roja). Esos casos son dos; la fila que aparece en el DataGridView por defecto cuando ejecuto el programa (ya que inicialmente el DataGridView está vacío) y la fila que aparece por defecto cuando modifico manualmente la última fila.

Así pues, imagino que en algun lugar del código generado automáticamente (por ejemplo en InitializeComponent()) puede que deba añadir algo pero no sé exactamente el qué ni dónde.

A ver si me pueden ayudar.

Muchas gracias.
  #2 (permalink)  
Antiguo 07/12/2011, 10:00
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 5 meses
Puntos: 58
Respuesta: C# Problema con DataGridViewImageColumn

Hola que tal, por que no quitas esa fila que se genera por default?

En las propiedades del Grid en RowHeadersVisible ponlo falso y con eso, no se genera esa linea y asi tu puedes ir poniendo todas las lineas por codigo.

  #3 (permalink)  
Antiguo 12/12/2011, 06:19
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: C# Problema con DataGridViewImageColumn

He hecho lo que me dices de quitar la fila que se genera por defecto (poniendo la propiedad AllowUserToAddRows a falso, ya que la propiedad RowHeadersVisible controla la columna de cabezeras de las filas). De esta manera ahora controlo mediante programación todas las filas que aparecen.

De este modo, esa última fila vacía que aparecía cuando rellenaba el datagrid me aparece con la imagen que quiero, y puedo rellenarla para insertar un elemento más.

Necesito que cuando rellene esa fila vacía y salga de ella (evento RowLeave por ejemplo) se genere una nueva fila vacía. Algo parecido a como actuaría el DataGrid con la probpiedad AllowUserToAddRows a cierto.

El problema lo tengo en que cuando añado una nueva fila en un evento de control (como RowLeave, RowValidated, ...) salta una excepción que me dice "La operación no se puede realizar en este controlador de eventos".

¿Se les ocurre una posible solución?

Necesitaría poder prescindir de usar, por ejemplo, un botón para añadir filas.

Gracias de nuevo.
  #4 (permalink)  
Antiguo 13/12/2011, 05:33
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: C# Problema con DataGridViewImageColumn

He optado por hacerlo mediante un Timer: en la línia de código que llamaba al método que generaba una fila nueva, activo el timer. El timer me genera la nueva fila y se desactiva.

Etiquetas: c#, datagridview, datagridviewimagecolumn
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:58.