Desenvolvimento - Visual Basic .NET

Carregando um Data Grid (com Estilo)

Saiba como carregar um DataGrid usando o Visual Basic .NET através desse passo a passo.

por Alexandre Tarifa



Propriedades Básicas

Arraste um controle DataGrid no formulário, vamos iniciar alterando as propriedades mais básicas. Vamos mudar o nome para grdAvisos, CaptionVisible = False, ReadyOnly = True. Na barra de propriedades existe um link "Auto format", trazendo uma lista com várias formatações pré-definidas que podem ser alteradas.

Propriedades de Estilo

As propriedades de estilo servem para definirmos a largura das colunas, alinhamentos, máscaras, etc. Para alterá-las, nas propriedades do DataGrid selecione o item TableStyles.

O DataGridTableStyle Collection Editor é responsável pela criação de estilo no DataGrid selecionado, ou seja, o mesmo DataGrid pode ter vários estilos vinculados. Mudamos as propriedades básicas. Name - grdEstilo e MappingName - Aviso (O MappingName é o alias que daremos ao DataSet quando carregarmos. Existem outras propriedades de cores, Layout, etc.

Selecionamos agora o item GridColumnStyles, que é responsável pela criação das colunas.

Vamos criar duas colunas, a coluna de ID e da Descrição. Neste editor tratamos cada coluna separadamente. No caso da coluna de ID mudamos as propriedades para MappingName - aviCodigo (MappingName da coluna se refere ao nome da coluna que vem no select). Width - Largura da coluna, HeaderText - Cód. (Texto na coluna do DataGrid), Alignment - Center, name - grdColID. O mesmo fazemos para a coluna de descrição - MappingName - aviDescricao (MappingName da coluna se refere ao nome da coluna que vem no select). Width - Largura da coluna, HeaderText - Descrição (Texto na coluna do DataGrid), Alignment - Center, name - grdColDescricao. Existe outra propriedade Format que funciona como o format tradicional (ex. moeda - #.##0,00, data dd/MM/yyyy, etc).

Alimentando o DataGrid com Banco de Dados

"Importando a classe responsável pelo acesso ao banco de dados SQL
Imports System.Data.SqlClient

Private sub CarregaGrid

Try

"Query sql
            strSql = "select aviCodigo, aviDescricao from tblAviso"

"Limpa algum estilo já associado
            grdAvisos.TableStyles.Clear()
"Limpa as colunas
            grdEstilo.GridColumnStyles.Clear()

		"Declara um DataSet
            Dim dsAvisos As DataSet
		"Carrega um dataset
            dsAvisos = clFaturamento.RetornaDataSet(strsql)

            If Not IsNothing(dsAvisos.Tables("Aviso")) Then
                dsAvisos.Tables("Aviso").Clear()
            End If

            clFaturamento.AbreDB()

            Dim daFatura As New SqlDataAdapter(strSql, clFaturamento.Conn)

            daFatura.Fill(dsAvisos, "Aviso")
            grdAvisos.DataSource = dsAvisos.Tables("Aviso")

		"Monta o grid de acordo com as colunas montadas no estilo
            grdEstilo.GridColumnStyles.AddRange _
                (New DataGridColumnStyle() _
                {grdColID, grdColDescricao})
            grdAvisos.TableStyles.Add(grdEstilo)
            grdAvisos.Refresh()

        Catch erro As Exception
            msgbox erro
        Finally
            fechaDB()
        End Try
End Sub

Alexandre Fernandes Tarifa
atarifa@deloitte.com.br
Analista de Sistemas

Alexandre Tarifa

Alexandre Tarifa - Ministra palestras e treinamentos, MVP (Most Valuable Professional), MCAD (Microsoft Certified Application Developer) e MCT (Microsoft Certified Trainer). Bacharel pela UMESP e pós-graduando pela Universidade Federal de São Carlos em Ciência da Computação. Analista de Sistemas e Líder do grupo de usuários Codificando.net São Paulo (sp.codificando.net). Escreve artigos para a revista MSDN Magazine e para os sites Linha de Código, MSDN Brasil e Enterpriseguys.
Visite o blog do autor: http://weblogs.pontonetpt.com/alexandretarifa/.