Está en la página 1de 12

DATAGRIDVIEW

En esta hoja:
- Estilos en las celdas y columnas
- Cargar un grid con una tabla
- Coger datos de una celda
- Obtener el nmero de filas y columnas
- Pasar el valor de una celda a un ListBox
- Obtener el nmero de fila y columna de una celda seleccionada
Comparar con los valores de una columna
- Dar formato a una celda
- Agregar una columna
- Agregar una fila
- Agregar una columna a un DT eblazado
- Sumar columnas

EST IL O S EN CEL D AS Y COL UMN AS


AADIR COLUMNAS
WithDataGridView1
.Columns.Add(0,"Fecha")
.Columns.Add(1,"Asiento")
.Columns.Add(2,"Factura")
.Columns.Add(3,"Concepto")
.Columns.Add(4,"Cuenta")
.Columns.Add(5,"Debe")
.Columns.Add(6,"Haber")
.Columns.Add(7,"Cdigo")
.Columns.Add(8,"Contrapartida")
.Columns(0).Width=75
.Columns(1).Width=56
.Columns(3).Width=200
EndWith

CAMBIAR EL COLOR DE UNA COLUMNA


Para que no produca un error, se debe utilizar cuando el grid est cargado.

Me.DataGridView2.Columns(5).DefaultCellStyle.BackColor=
Color.Silver
Me.DataGridView2.Columns(6).DefaultCellStyle.BackColor=
Color.Silver
Me.DataGridView2.Columns(7).DefaultCellStyle.BackColor=
Color.Silver

Otra forma de color en RGB


Me.DataGridView2.Columns(5).DefaultCellStyle.BackColor=
Color.FromArgb(255,255,240)

Me.DataGridView2.Columns(6).DefaultCellStyle.BackColor=
Color.FromArgb(255,240,255)
Me.DataGridView2.Columns(7).DefaultCellStyle.BackColor=
Color.FromArgb(255,240,255)

CAMBIAR EL COLOR DE LAS FILAS


DataGridView1.RowsDefaultCellStyle.BackColor=Color.Blue
DataGridView1.RowsDefaultCellStyle.ForeColor=Color.WhiteSmoke

ESTABLECER EL COLOR DE FILAS ALTERNAS


DataGridView1.AlternatingRowsDefaultCellStyle.BackColor=
Color.Brown
DataGridView1.AlternatingRowsDefaultCellStyle.ForeColor=
Color.White

ALINEAR EL CONTENIDO DE UNA COLUMNA


Me.DataGridView2.Columns(5).DefaultCellStyle.Alignment=
DataGridViewContentAlignment.MiddleRight
Valores posibles entre otros: MiddleRight,BottomCenter,TopLeft, etc.

ALINEAR EL CONTENIDO DE UNA COLUMNA USANDO "PADDING"


DimnewPaddingAsNewPadding(30,1,1,1)
Me.DataGridView1.Columns(3).DefaultCellStyle.Padding=newPadding
El orden de los nmeros indican los mrgenes izquierdo, superior,derecho e inferior.

DAR FORMATO A UNA CELDA


DataGridView1.Rows(estafila1).Cells(5).Style.Alignment=
DataGridViewContentAlignment.MiddleRight
DataGridView1.Rows(estafila1).Cells(5).Style.BackColor=
Color.White

DAR FORMATO A LOS NUMEROS


'Formato numrico con 2 decimales"

Me.DataGridView2.Columns(6).DefaultCellStyle.Format="N2"
'Formato numrico de
moneda"Me.DataGridView2.Columns(6).DefaultCellStyle.Format="c"

F IL AS Y COL UMN AS
OBTENER LOS VALORES DE UNA FILA
DimkAsInteger
k=DataGridView2.CurrentRow.Index
txtNombre.Text=DataGridView2.Item(4,k).Value

OBTENER EL VALOR DE UNA CELDA MARCADA:


Textimporte.Text=DataGridView2.CurrentCell.Value

OBTENER EL VALOR DE UNA CELDA CONCRETA


TextBox1.Text=DataGridView1.Rows(4).Cells(3).Value
'Rows indica el nmero de fila y cells indica el numero de posicion de la fila.
en .net sera:

numeroCuenta=DataGridView3.Item(0,k).Value
Las filas y las posiciones empiezan en 0

COMPARAR UN VALOR CON LOS VALORES DE UNA COLUMNA


DimsAsString=""
Form=0ToDataGridView3.Rows.Count1
s=DataGridView3.Rows(m).Cells(2).Value
Ifs=txtCuenta.TextThen
lbClave.Text=DataGridView3.Rows(m).Cells(3).Value
EndIf
Next

OBTENER EL NUMERO TOTAL DE FILAS Y COLUMNAS


TextBox1.Text=DataGridView1.Rows.Count
DimnumerocolumnaAsInteger=DataGridView1.Columns.Count

OBTENER LA POSICIN
i=DataGridView1.CurrentRow.Index

SELECCIONAR UNA LINEA


dimiasinteger=3
DataGridView1.Rows(i).Selected=True

POSICIONARSE EN UNA LINEA


dimiasinteger=3
DataGridView1.CurrentCell=DataGridView1.Rows(i).Cells(0)

PASAR DATOS DE LA COLUMNA n DE UNA FILA MARCADA A UN


LISTBOX
PrivateSubDataGridView1_CellContentClick....
DimfilaAsInteger=DataGridView1.CurrentRow.Index
DimcolumnaAsInteger=2
ListBox1.Items.Add(DataGridView1.Item(columna,fila).Value)
EndSub

OBTENER EL NUMERO DE FILA Y COLUMNA DE UNA CELDA


SELECCIONADA
TextBox2.Text=(DataGridView1.CurrentCell.RowIndex.ToString)
TextBox3.Text=(DataGridView1.CurrentCell.ColumnIndex.ToString)

MOSTRAR U OCULTAR COLUMNA


DataGridView2.Columns(5).Visible=[False][True]

CAMBIAR EL NOMBRE DE LA CABECERA DE UNA COLUMNA


dataGridView1.Columns[3].HeaderText="Cduladeidentidad";

AGREGAR UNA COLUMA


DataGridView2.Columns.Add(0,"Trabajo")
DataGridView2.Columns.Add(1,"Puntos")
DataGridView2.Columns.Add(2,"Puntos")

AGREGAR UNA FILA


DataGridView2.Rows.Add()
DimestafilaAsInteger=DataGridView2.Rows.Count1
DataGridView2.Rows(estafila1).Cells(0).Value=
DataGridView1.Item(1,i).Value
DataGridView2.Rows(estafila1).Cells(1).Value=
DataGridView1.Item(2,i).Value
DataGridView2.Rows(estafila1).Cells(2).Value=
DataGridView1.Item(4,i).Value
'Cuando el datagrid est vacio, el cursor se coloca en la primera fila por lo que al aadir una fila
nueva, los valores de 'estafila' se aadir correctamente. Si el datagrid no est vacio el cursor, al
aadir una fila nueva, no se sita en la posicin de la fila aadida sino despues, por lo que hay que
restar 1 a la posicin 'estafila'.

AGREGAR UNA COLUMNA A UNA GRILLA ENLAZADA


PrivateSubCreateUnboundButtonColumn()
' Initialize the button column.
DimbuttonColumnAsNewDataGridViewButtonColumn
WithbuttonColumn
.HeaderText="Details"
.Name="Details"
.Text="ViewDetails"
' Use the Text property for the button text for all cells rather
' than using each cell's value as the text for its own button.
.UseColumnTextForButtonValue=True
EndWith
' Add the button column to the control.
dataGridView1.Columns.Insert(1,buttonColumn)
EndSub

SUMAR UNA COLUMNA DETERMINADA


DimColAsInteger=Me.DataGrid1.Columns(6).Index
ForEachrowAsDataGridViewRowInMe.DataGrid1.Rows
sumadebe+=Val(row.Cells(Col).Value)
Next
Label1.Text=sumadebe

SUMAR LA COLUMNA ACTIVA

DimTotalAsSingle
DimColAsInteger=Me.DataGridView1.CurrentCell.ColumnIndex
ForEachrowAsDataGridViewRowInMe.DataGridView1.Rows
Total+=Val(row.Cells(Col).Value)
Next
Me.TextBox1.Text=Total.ToString

ELIMINAR TODO EL CONTENIDO


Me.DataGridView2.Columns.Clear()
'Borratodoelcontenidoincluyendolacabecera"
Me.DataGridView2.Rows.Clear()'Borratodoelcontenidopero
conservalacabecerayformatodelascolumnas"

ELIMINAR UNA FILA MARCADA


Me.dataGridView1.Rows.Remove(Me.dataGridView1.CurrentRow)

C ARG AR UN G RI D CO N UN A TAB L A

CONTROL DATAGRIDVIEW VB.NET


Permite visualizar datos en una cuadricula personalizable. Manipulacin (operaciones) y
modificacin (cambiar, guardar) de datos procedentes de una base de datos (tablas) tales
como consultas vistas etc.
Tambin datos ingresados en tiempo de ejecucin, o por el cdigo directamente. En este
caso les presentamos en tiempo de ejecucin.
PROPIEDADES MS USADOS DEL CONTROL:
Las propiedades de este control aparecen como los dems en la ventana de propiedades.
Las propiedades de las columnas son diferentes a las del control, a ellas se tiene acceso
por medio de la flecha desplegable que aparece en la parte derecha de la cuadricula, de
la cual se despliega un cuadro con las opciones de AGREGAR COLUMNAS y EDITAR
COLUMNAS

AGREGAR COLUMNAS: Nos permite adicionar la cantidad de columnas que se


considere necesarias para el proyecto. La propiedad NAME de las columnas aparece por
defecto como culmn1, column2, column3, columnn etc.
EDITAR COLUMNAS: Nos permite agregar ttulo a cada una de las columnas.
PROPIEDAD HEADER TEXT= texto, si no se requiere ttulo en la columna se pone la
propiedad en blanco.
EJEMPLO 1: CALCULAR SUMA, RESTA MULTIPLICACION Y PROMEDIO
Para este ejemplo crear un formulario llamado: operaciones DataGridView, y agregar los
siguientes controles:
Dos buttons.

1)- Propiedad texto = AGREGAR VALORES A LA MATRIZ.


2)-Propiedad Texto = EJECUTAR OPERACIONES
Dos textbox con la propiedad name = por defecto.
Dos Label, 1)-Name = por defecto, texto = SUMA TOTAL.

2)- Name=por defecto, texto = PROMEDIO TOTAL.


Un DataGridView con la propiedad name = por defecto.

Haz click aqu para cambiar el nombre de las columnas y el tamao..


Diseo autosizemode esto te dara el tamao de la columnaAgregar al DataGridView 10
columnas de las cuales su nombre sern por defecto y su texto = as
1. Header text =
2. Header text=
3. Header text =
4. Header text =
5. Header text =
6. Header text =
7. Header text = SUMA
8. Header text = PROMEDIO
9. Header text 0 RESTA
10. Header text = MULTIPLICACION
Haz click aqu para cambiar el nombre de las columnas y el tamao..
Diseo autosizemode esto te dara el tamao de la columna
DISEO DE FORMULARIO:

CODIGO:
Public Class Form1
'Declaracion de la matriz'
Dim M(5, 5) As Integer
Dim sumatotal As Integer
Dim promediototal As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Declaraacion de la matriz contenida en el datagridview1'
DataGridView1.RowCount = 6
For i As Integer = 0 To 5
For j As Integer = 0 To 5
M(i, j) = 0
DataGridView1.Item(i, j).Value = M(i, j)
Next
Next
End Sub
LLENAMOS LA MTRIZ DE FORMA MANUAL'
Private Sub btnAgregar_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnagregar.Click
Try
For i As Integer = 0 To 5
For j As Integer = 0 To 5
M(i, j) = CInt(InputBox("digite el valor"))
DataGridView1.Item(j, i).Value = M(i, j)
Next
Next
MsgBox("llena")
Catch ex As Exception
MsgBox(ex.Message)
End Try

End Sub
Private Sub btnejecutar_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles btnejecutar.Click
Try
'suma fila 0'
Dim suma = 0
For i = 0 To 5
suma = suma + M(0, i)
Next
DataGridView1.Item(6, 0).Value = suma
'promedio fila 0'
Dim promedio As Double
promedio = suma / 6
DataGridView1.Item(7, 0).Value = promedio
'resta fila 0'
Dim resta As Integer
resta = suma - promedio
DataGridView1.Item(8, 0).Value = resta
'multiplicacion fila 0'
Dim multiplicacion As Integer
multiplicacion = promedio * resta
DataGridView1.Item(9, 0).Value = multiplicacion
'suma fila1'
Dim suma1 = 0
For i = 0 To 5
suma1 = suma1 + M(1, i)
Next
DataGridView1.Item(6, 1).Value = suma1
'promedio fila 1'
Dim promedio1 As Double
promedio1 = suma1 / 6
DataGridView1.Item(7, 1).Value = promedio1
'resta fila 1'
Dim resta1 As Integer
resta1 = suma1 - promedio1
DataGridView1.Item(8, 1).Value = resta1
'multiplicacion fila 1
Dim multiplicacion1 As Integer
multiplicacion1 = promedio1 * resta1
DataGridView1.Item(9, 1).Value = multiplicacion1
'suma fila 2'
Dim suma2 = 0
For i = 0 To 5
suma2 = suma2 + M(2, i)
Next
DataGridView1.Item(6, 2).Value = suma2

'promedio fila 2'


Dim promedio2 As Double
promedio2 = suma2 / 6
DataGridView1.Item(7, 2).Value = promedio2
'resta fila 2'
Dim resta2 As Integer
resta2 = suma2 - promedio2
DataGridView1.Item(8, 2).Value = resta2
'multiplicacion fila 2'
Dim multiplicacion2 As Integer
multiplicacion2 = promedio2 * resta2
DataGridView1.Item(9, 2).Value = multiplicacion2
'suma fila 3'
Dim suma3 = 0
For i = 0 To 5
suma3 = suma3 + M(3, i)
Next
DataGridView1.Item(6, 3).Value = suma3
'promedio fila 3'
Dim promedio3 As Double
promedio3 = suma3 / 6
DataGridView1.Item(7, 3).Value = promedio3
'resta fila 3'
Dim resta3 As Integer
resta3 = suma3 - promedio3
DataGridView1.Item(8, 3).Value = resta3
'multiplicacion fila 3'
Dim multiplicacion3 As Integer
multiplicacion3 = promedio3 * resta3
DataGridView1.Item(9, 3).Value = multiplicacion3
'suma fila 4'
Dim suma4 = 0
For i = 0 To 5
suma4 = suma4 + M(4, i)
Next
DataGridView1.Item(6, 4).Value = suma4
'promedio fila 4'
Dim promedio4 As Double
promedio4 = suma4 / 6
DataGridView1.Item(7, 4).Value = promedio4
'resta fila 4'
Dim resta4 As Integer
resta4 = suma4 - promedio4
DataGridView1.Item(8, 4).Value = resta4
'multiplicacion fila 4'
Dim multiplicacion4 As Integer

multiplicacion4 = promedio4 * resta4


DataGridView1.Item(9, 4).Value = multiplicacion4
'suma fila 5'
Dim suma5 = 0
For i = 0 To 5
suma5 = suma5 + M(5, i)
Next
DataGridView1.Item(6, 5).Value = suma5
'promedio fila 5'
Dim promedio5 As Double
promedio5 = suma5 / 6
DataGridView1.Item(7, 5).Value = promedio5
'resta fila 5'
Dim resta5 As Integer
resta5 = suma5 - promedio5
DataGridView1.Item(8, 5).Value = resta5
'multiplicacion fila 5'
Dim multiplicacion5 As Integer
multiplicacion5 = promedio5 * resta5
DataGridView1.Item(9, 5).Value = multiplicacion5
'sumatoria de la columna de SUMA'
sumatotal = Val(suma + suma1 + suma2 + suma3 + suma4 + suma5)
'guardar en textbox la sumatoria total'
TextBox1.Text = sumatotal
'Promedio total de la columna promedio'
promediototal = Val(promedio + promedio1 + promedio2 + promedio3 + promedio4 +
promedio5)
'guardar en textbox el promedio total'
TextBox2.Text = promediototal / 6
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class

También podría gustarte