miércoles, 22 de octubre de 2008

VS2008 C# Ocultar la primera fila de un DataGridView ( solución para cuando no se deja )

Pues bien, otro error con los controles autogenerados, resulta que a veces según la alineación de los planetas cuando agregas un DataGridView desde la pestaña de Data Sources y luego pones la primera columna que suele ser la del ID en visible=false; en el diseñador se te ve oculta pero en tiempo de ejecución no.

Ésto es porque el mismo se raya y hace la asignación de la propiedad cuando no debe (la hace antes de asignar el Data Binding, y claro al asignarlo después pues vuelve a aparecer la columna), la solución a ésto es controlar el evento BindingContextChanged del DataGridView en cuestión y añadirle dentro la instrucción para ocultar la columna, ejemplo:


clienteDataGridView.Columns[0].Visible = false;

6 comentarios:

Alfredo dijo...

En el titulo decías ocultar la primera fila, pero en realidad parece ser que era la primera columna, yo tengo el problema con la fila 0, cuando intento recorer el datagridview y pongo el visible = false me lo permite hacer con tas las filas menos la primera, dando un error:

"La fila asociada con la posición del administrador de moneda no se puede hacer invisible."

Alguien sabe a que se puede deber.

Antes de hacer nada compruebo que haya filas con datos y en mi caso tengo media docena.

Muchas gracias de antemano

JaviMarciano dijo...

uf que me dió un poco de dolor de cabeza ese mismo problema de

"La fila asociada con la posición del administrador de moneda no se puede hacer invisible."

yo lo solucioné de la sig manera
dataGridView1.CurrentCell = null;
y listo ya puedes asignar "false" a la propiedad visible

dataGridView1.Rows[i].Visible = true;

Pablo dijo...

Buenisimo, me soluciono el problema

Anónimo dijo...

2 años después y aún salvando vidas. Gracias :D

Néstor dijo...

3 años después y ayudando!! ;)

Anónimo dijo...

2014 y sigue ayudando. Gracias.