0% encontró este documento útil (0 votos)
427 vistas

Data Grid View

El documento describe las propiedades y eventos del control DataGridView en Windows Forms. El DataGridView muestra datos en una cuadrícula y se puede conectar a una fuente de datos. Algunas propiedades clave incluyen DataSource para la conexión de datos, RowHeadersVisible y ColumnHeadersVisible para ocultar encabezados, y SelectionMode para controlar la selección. Eventos como CellClick y SelectionChanged permiten responder a interacciones del usuario.

Cargado por

wilutb79
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
427 vistas

Data Grid View

El documento describe las propiedades y eventos del control DataGridView en Windows Forms. El DataGridView muestra datos en una cuadrícula y se puede conectar a una fuente de datos. Algunas propiedades clave incluyen DataSource para la conexión de datos, RowHeadersVisible y ColumnHeadersVisible para ocultar encabezados, y SelectionMode para controlar la selección. Eventos como CellClick y SelectionChanged permiten responder a interacciones del usuario.

Cargado por

wilutb79
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

DataGridView

El control DataGridView muestra el contenido de una fuente de datos. Se trata de un


control de formularios Windows Forms que utiliza un formato de cuadrcula.
Hay muchas maneras de mejorar su configuracin predeterminada. Algunas mejoran la
facilidad de uso y apariencia, se muestran aqu con el cdigo en el lenguaje C #.
En primer lugar, se debe usar el DataGridView cuando se necesita mostrar informacin
que se puede disponer fcilmente en filas y columnas. Esto incluye nmeros, nombres,
identificaciones y otros atributos almacenados en una base de datos.

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:

Luego se establece la conexin a la base de


datos y se especifica dentro del DataSet la
tabla a la que debe hacer referencia el
DataGridView:

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.

Acceder al contenido de una celda determinada


Podemos acceder al contenido de una celda determinada, sabiendo su nmero de fila y
su nmero de columna. Se debe acceder a la coleccin de filas (Rows) y a la coleccin
de columnas (Cells) del control DataGridView. Ejemplo:

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.

Acceder al contenido de la celda actual


Otra posibilidad es acceder al contenido de la celda actualmente seleccionada, a travs
de la propiedad CurrenCell. Ejemplo:

string valor = dataGridView1.CurrentCell.Value.ToString();

Agregar filas al DataGridView


El control DataGridView tiene una coleccin de filas, que es simplemente una lista de
filas de la cuadrcula de datos. Add es un mtodo de instancia en esta coleccin. Se
devuelve el ndice de la fila recin aadida.

int x = dataGridView1.Rows.Add(txtNombre.Text, txtEdad.Text);

En el ejemplo anterior se toma la grilla dataGridView1, y se agrega una nueva fila,


estableciendo sus dos primeras celdas con los valores string de los TextBox txtNombre
y txtEdad. En la variable entera x queda almacenado el nmero de fila que se acaba de
agregar.
Otra manera de hacer esto, es agregando manualmente los valores en la grilla.

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:

string valor = dataGridView1.CurrentRow.Cells[2].Value.ToString();

En este ejemplo, se obtiene la fila de la celda actualmente seleccionada, y luego se


toma el valor de la celda de la columna 2 de esa fila (comenzando desde cero), y se
guarda en la variable valor previamente convertida a string con el mtodo ToString().

Propiedades AllowUserTo:

AddRows: Indica si la opcin de agregar filas se muestra al usuario.


DeleteRows: Indica si el usuario puede eliminar filas del DataGridView.
OrderColumns: Indica si la reordenacin manual de la columna est
habilitada.
ResizeColumns: Indica si los usuarios pueden cambiar el tamao de las
columnas.
ResizeRows: Indica si los usuarios pueden cambiar el tamao de las
filas.

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:

int cantidadFilas = dataGridView1.RowCount;

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

Tiene lugar cuando se hace un click en el contenido de una celda.

CellDoubleClick y CellContentDoubleClick

Son iguales a los eventos anteriores, solo que se activan haciendo doble click.

Ejemplo del evento CellDoubleClick


Al hacer doble click sobre una celda, aparecer un MessageBox con el contenido de la
celda.
En
caso
de
estar
vaca,
el
MessageBox
lo
indicar.

El cdigo siguiente permite que se muestre el mensaje con el contenido de la celda


pero no de los encabezados. Eso se logra mediante una expresin condicional,
verificando que los ndices de la celda para la que se produce el evento. El ndice de la
fila de la celda estar dado por e.RowIndex y el ndice de la columna esta dado por
e.ColumnIndex.
Ambos deben ser distintos de -1.
Tambin debe validarse que no se intente acceder al contenido de una celda de valor
null. A continuacin se mostrar el cdigo del evento:

//Evento CellDoubleClick del dataGridView1


private void dataGridView1_CellDoubleClick(object sender,
DataGridViewCellEventArgs e)
{
if (e.RowIndex != -1 && e.ColumnIndex != -1)
{
if (dataGridView1.CurrentCell.Value != null)
{
MessageBox.Show("La celda contiene: " +
dataGridView1.CurrentCell.Value.ToString(),
"Ejemplo", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Celda vaca", "Ejemplo",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
}
}

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:

//Constructor de la clase Form1.


public Form1()
{
InitializeComponent();
btnBorrarApellido.Enabled = false;
}
//Evento SelectionChanged del dataGridView1.
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
int x;
x = dataGridView1.CurrentCellAddress.X;
if (x == 1)
{
btnBorrarApellido.Enabled = true;
}
else
{
btnBorrarApellido.Enabled = false;
}
}
//Evento Click del boton btnBorrarApellido.
private void btnBorrarApellido_Click(object sender, EventArgs e)
{
dataGridView1.CurrentRow.Cells[1].Value = "";
}

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.

También podría gustarte