Data Grid View
Data Grid View
Propiedades
Propiedad DataSource
Se puede utilizar la propiedad DataSource para conectar el DataGridView a una base
de datos, o incluso a una coleccin de objetos. Se coloca en el formulario el control
DataGridView, se va a la propiedad DataSource del mismo, click en Agregar origen de
datos al proyecto:
Propiedad RowHeadersVisible
Se pueden ocultar los encabezados de fila en el control DataGridView mediante la
propiedad RowHeadersVisible. Cuando se crea un nuevo DataGridView, habr
encabezados de fila con flechas en la primera columna de la izquierda. Estas no son
tiles para muchos tipos de aplicaciones. Se puede desactivar los encabezados de fila
mediante el establecimiento de RowHeadersVisible en false.
Con la propiedad establecida en true:
Y con la propiedad establecida en false:
Propiedad ColumnHeadersVisible
Indica si se muestra la fila del encabezado de columna.
Con la propiedad establecida en true:
Con la propiedad establecida en false:
Propiedad TabStop
Indica si el usuario puede utilizar la tecla Tabulador para poner el foco en el control
DataGridView.
Propiedad StandardTab
Con esta propiedad establecida en true, al presionar el tabulador repetidas veces le
permite ir navegando por los diferentes controles del formulario (dndoles el foco a
estos controles), pasando slo una vez por la grilla, sobre la celda seleccionada. Con la
propiedad establecida en false, se pasar por cada celda de la grilla.
string contenidoCelda;
contenidoCelda = dataGridView1.Rows[i].Cells[j].Value.ToString();
En este ejemplo se guarda en una variable del tipo string el contenido de la celda cuyo
nmero de fila es i y su nmero de columna es j, previamente convertido a string
mediante el mtodo ToString.
Editar columnas
Cada columna se puede editar independiente. Se debe seleccionar el DataGridView,
hacer click en la flecha que aparece en su esquina superior derecha y luego en Editar
columnas.
Luego aparecer la siguiente ventana, en donde se podr editar todas las propiedades
de cada columna:
Propiedad SelectionMode
Esta propiedad permite editar la forma de seleccin de los elementos de la grilla. A
continuacin se explicarn los diferentes valores que puede adquirir:
CellSelect: permite seleccionar de a una celda por vez o ms,
independientemente de la fila a la que pertenezcan.
FullRowSelect: solo permite la seleccin de la fila completa, ya sea una
o ms filas.
FullColumnSelect: solo permite la seleccin de la columna completa, ya
sea una o ms columnas. Este modo de seleccin no se puede establecer
si el DataGridView tiene al menos una columna con la propiedad
SortMode (modo de ordenacin de la columna) establecida en
Automatic.
RowHeaderSelect: igual que CellSelect, solo que permite seleccionar la
fila completa con solo presionar el encabezado de fila, lo cual el modo
CellSelect no permite.
ColumHeaderSelect: se puede seleccionar solo la columna completa,
una o ms.
Propiedad MultiSelect
Indica si el usuario puede seleccionar ms de una celda, fila o columna al mismo
tiempo. Con esta propiedad establecida en false, slo se permite seleccionar de a una
celda por vez.
Propiedad CurrentCellAddress
Con esta propiedad se puede obtener la posicin o coordenada X e Y de la celda
seleccionada en azul dentro de la grilla. Ejemplo:
int Y = dataGridView1.CurrentCellAddress.Y;
int X = dataGridView1.CurrentCellAddress.X;
Propiedad CurrentRow
Con esta propiedad se obtiene la fila de la celda seleccionada actualmente. Ejemplo:
Propiedades AllowUserTo:
Propiedad Anchor
Define a qu bordes del formulario contenedor est enlazado el control DataGridView.
Cuando un control est delimitado con relacin a un borde, la distancia entre el borde
ms cercano del control y el borde especificado del formulario, permanecer constante.
Propiedad AutoSizeColumnsMode y
AutoSizeRowsMode
Determina el modo de ajuste automtico para las columnas y filas visibles,
respectivamente.
Propiedad ClipboardCopyMode
Indica si los usuarios pueden copiar valores de texto de las celdas en el portapapeles y
si el texto de los encabezados de fila y columna est incluido.
Propiedad Dock
Indica cules de los bordes del DataGridView estn enlazados al formulario contenedor.
Propiedad Enabled
Indica si el control esta habilitado, (caso true).
Propiedad Locked
Determina si se puede mover o cambiar el tamao del control, (caso true).
Propiedad Modifiers
Indica el nivel de visibilidad del objeto (public, protected, protectedInternal, internal,
private).
Propiedad ReadOnly
Indica si el usuario puede modificar las celdas del control, (caso false).
Propiedad RowCount
Obtiene o establece el nmero de filas que se muestran en el control DataGridView:
Propiedad RowHeadersWidthSizeMode
Determina el comportamiento para ajustar el ancho de los encabezados de fila.
Apariencia
Existen propiedades dedicadas a la apariencia visual y la esttica del control
DataGridView que se nombrarn a continuacin:
BackgroundColor
BorderStyle
CellsBorderStyle
ColumnHeadersBorderStyle
ColumnHeadersDefaultCellStyle
Cursor
DefaultCellStyle
GridColor
RowHeadersBorderStyle
RowHeardersDefaultCellStyle
RowsDefaultCellStyle
Eventos
Evento Cellclick
Tiene lugar cuando se hace un click en cualquier parte de una celda.
Evento CellContentClick
CellDoubleClick y CellContentDoubleClick
Son iguales a los eventos anteriores, solo que se activan haciendo doble click.
Evento SelectionChanged
Este evento tiene lugar cuando la seleccin actual cambia.
Ejemplo: en el siguiente formulario, el control DataGridView tiene la propiedad
SelectionMode establecida en CellSelect y la propiedad MultiSelect establecida en
false. Esto permite que slo se pueda seleccionar una sola celda por vez.
Tenemos un botn Borrar apellido que estar activado nicamente cuando la celda
seleccionada pertenezca a la columna apellido. Esto lo hacemos mediante el
controlador de eventos SelectionChanged. Cada vez que la seleccin cambie, se
verifica si la celda seleccionada pertenece a la columna Apellido, si es as, habilita el
botn. En cualquier otro momento el botn estar no disponible, es decir, con su
propiedad Enabled establecida en false. A continuacin se dar el cdigo de la clase
del formulario:
Evento CellEndEdit
Se produce cuando se detiene el modo de edicin para la celda seleccionada
actualmente.
Evento CellEnter
Se produce cuando la celda actual cambia en el control DataGridView o cuando el
control recibe el foco de entrada.
Evento CellParsing
Se produce cuando una celda cuyo valor ha sido modificado deja de estar en modo de
edicin.
Evento CurrentCellChanged
Se produce cuando cambia la propiedad CurrentCell.
El resto de los eventos del control DataGridView se encuentran explicados en la
siguiente pgina:
http://msdn.microsoft.com/es-es/library/system.windows.forms.datagridview_events(v=vs.80).aspx
Referencias:
Microsoft Visual Studio 2010.
http://www.dotnetperls.com/datagridview y todos sus enlaces.
http://www.dotnetperls.com/datagridview-property y todos sus enlaces.
http://msdn.microsoft.com/es-es/library/system.windows.forms.datagridview_events(v=vs.80).aspx
Autor:
Martn Marengo, Isi-Tech.