DataGridView

Este es un potente control para mostrar datos por pantalla, tiene muchisimas opciones, trataremos de ver un ejemplo simple y luego mencionaré todo lo que yo uso cuando trabajo con un DataGridView.

'Conexión a la base de datos y obtención de los registros en un DataTable
Dim cnn As New SqlConnection
cnn.ConnectionString = _
"Data Source=..\SQLEXPRESS; Initial Catalog=BasedePrueba; 
Integrated Security=True"

'Algunas lineas de este código tuvieron que ser divididas
'por no entrar en ekl ancho de pantalla.

cnn.Open()

Dim ds As New DataSet
Dim da As New SqlDataAdapter

Dim sql As String
sql = "Select * from SaldosClientes"
da.SelectCommand = New SqlCommand(sql, cnn)
da.Fill(ds)
cnn.Close()

'con esta linea obtengo un objeto DataTable 
'(dt) con los registros resultantes
Dim dt As DataTable = ds.Tables(0)

'Ahora puedo asignar el DataTable (dt) al DataGridView1
DataGridView1.DataSource = dt

Con el código anterior alcanza para llenar nuestro primer DataGridView. Ahora veremos que mas se puede hacer con este control.

'Definimos que fuente usar
DataGridView1.Font = _
    New Drawing.Font("Tahoma", 8, FontStyle.Regular, GraphicsUnit.Point

'Que columnas estarán visibles
DataGridView1.Columns("Id").Visible = False
DataGridView1.Columns("Codigo").Visible = True
DataGridView1.Columns("RazonSocial").Visible = True
DataGridView1.Columns("Fecha").Visible = True
DataGridView1.Columns("Saldo").Visible = True

'Cual sera el orden de las columnas
DataGridView1.Columns("Id").DisplayIndex = 0
DataGridView1.Columns("Codigo").DisplayIndex = 1
DataGridView1.Columns("RazonSocial").DisplayIndex = 2
DataGridView1.Columns("Fecha").DisplayIndex = 3
DataGridView1.Columns("Saldo").DisplayIndex = 4

'Ancho de columnas
DataGridView1.Columns("Id").Width = 100
DataGridView1.Columns("Codigo").Width = 100
DataGridView1.Columns("RazonSocial").Width = 100
DataGridView1.Columns("Fecha").Width = 100
DataGridView1.Columns("Saldo").Width = 100

'El encabezado de las columnas
DataGridView1.Columns("Id").HeaderText = "Id"
DataGridView1.Columns("Codigo").HeaderText = "Código"
DataGridView1.Columns("RazonSocial").HeaderText = "Razón Social"
DataGridView1.Columns("Fecha").HeaderText = "Fecha"
DataGridView1.Columns("Saldo").HeaderText = "Saldo"

'La alineación de las celdas de cada columna
DataGridView1.Columns("Id").DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.BottomRight

DataGridView1.Columns("Codigo").DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.BottomLeft

DataGridView1.Columns("RazonSocial").DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.BottomLeft

DataGridView1.Columns("Fecha").DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.BottomLeft

DataGridView1.Columns("Saldo").DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.BottomRight


'La alinación del encabezado de cada columna
DataGridView1.Columns("Id").HeaderCell.Style.Alignment = _
DataGridViewContentAlignment.BottomRight

DataGridView1.Columns("Codigo").HeaderCell.Style.Alignment = _
DataGridViewContentAlignment.BottomLeft

DataGridView1.Columns("RazonSocial").HeaderCell.Style.Alignment = _
DataGridViewContentAlignment.BottomLeft

DataGridView1.Columns("Fecha").HeaderCell.Style.Alignment = _
DataGridViewContentAlignment.BottomLeft

DataGridView1.Columns("Saldo").HeaderCell.Style.Alignment = _
DataGridViewContentAlignment.BottomRight

'El formato de las columnas numéricas
DataGridView1.Columns("Saldo").DefaultCellStyle.Format = "##,##0.00"

Bueno, pasé mucho tiempo buscando todas estas opciones de configuración para dejar un DataGridView como me gustaba. Espero que les sea util y en breve estaré subiendo mas acerca de este gran control de datos.



Comentar