|
![]() |
![]() |
Neste artigo vou mostrar como podemos vincular objetos ao controle DataGridView usando a linguagem VB .NET. |
![]() |
Eu já escrevi dezenas de artigos sobre o DataGridView, mas como o assunto não foi esgotado, hoje eu vou mostrar como podemos vincular objetos ao DataGridView.
Apenas para recordar, se você deseja vincular dados de um banco de dados SQL Server em um DataGridView pode usar o código abaixo:
Imports System.Data.SqlClient
Public Class Form1
Private Sub mnuVincularDados_Click(sender As Object, e As EventArgs) Handles mnuVincularDados.Click
Dim tabela As New DataTable
Dim connection As New SqlConnection(My.Settings.ConexaoSQLServer)
Try
connection.Open()
Dim command As SqlCommand = connection.CreateCommand
command.CommandText = "SELECT * FROM Categories"
tabela.Load(command.ExecuteReader)
command.Dispose()
dgvDados.DataSource = tabela
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
connection.Close()
End Try
End Sub
End Class |
![]() |
No exemplo estamos acessando a tabela Categories do banco de dados Northwind.
A string de conexão usada esta definida na propriedade Settings da aplicação:
![]() |
Mas esse não é o foco desse artigo, o que nos interessa é vincular objetos ao DataGridView.
Então vamos ao trabalho...
Recursos usados:
Nota: Baixe e use a versão Community 2015 do VS ela é grátis e é equivalente a versão Professional.
Criando a solução no VS Community
Abra o VS Community 2015 e clique em New Project;
Selecione a linguagem Visual Basic e o template Windows Forms Application;
Informe o nome Vincular_Objetos_DataGridView e clique no botão OK;
![]() |
No formulário Form1 inclua um controle Button com o nome btnVincular e o texto conforme mostra o leiaute abaixo:
Definindo o objeto
Vamos definir agora o objeto que desejamos vincular ao datagridview.
Para isso vamos criar uma classe chamada Usuario no projeto via menu Project -> Add Class definindo o código abaixo nesta classe:
Public Enum Permissao
Admin
Operador
Gerente
End Enum
<Serializable()>
Public Class Usuario
Public Property Nome As String
Public Property Perfil As Permissao
Public Property Ativo As Boolean
Sub New(ByVal _nome As String, _perfil As Permissao, _ativo As Boolean)
Nome = _nome
Perfil = _perfil
Ativo = _ativo
End Sub
Public Sub New()
End Sub
End Class
|
No início do código definimos uma enumeração chamada Permissao onde criamos 3 tipos de permissão : Admin, Operador e Gerente.
Na classe Usuario temos 3 propriedades :
Definimos dois construtores na classe. O construtor que inicializa os valores e outro construtor vazio.
Definimos também o atributo <Serializable> para permitir que o objeto seja serializável.
Definindo o código do formulário
Agora vamos incluir no formulário o código
Public Class Form1
Private Usuarios As List(Of Usuario)
Private dgvUsuarios As New DataGridView()
Private Sub btnVincular_Click(sender As Object, e As EventArgs) Handles btnVincular.Click
SetupForm()
SetupGrid()
End Sub
Private Sub SetupForm()
AutoSize = True
End Sub
Private Sub SetupGrid()
'cria uma lista de usuários
Usuarios = New List(Of Usuario)
Usuarios.Add(New Usuario("Macoratti", Permissao.Admin, True))
Usuarios.Add(New Usuario("Jefferson", Permissao.Operador, True))
Usuarios.Add(New Usuario("Janice", Permissao.Gerente, True))
Usuarios.Add(New Usuario("Jessica", Permissao.Operador, False))
Usuarios.Add(New Usuario("Miriam", Permissao.Operador, True))
' Inicializa o DataGridView.
dgvUsuarios.AutoGenerateColumns = False
dgvUsuarios.AutoSize = True
dgvUsuarios.DataSource = Usuarios
dgvUsuarios.Columns.Add(CriaComboBoxComEnums())
' Inicializa e adiciona uma coluna textbox
Dim column As DataGridViewColumn = New DataGridViewTextBoxColumn()
column.DataPropertyName = "Nome"
column.Name = "Nome"
dgvUsuarios.Columns.Add(column)
' Inicializa e adiciona uma coluna checkbox
column = New DataGridViewCheckBoxColumn()
column.DataPropertyName = "Ativo"
column.Name = "Ativo"
dgvUsuarios.Columns.Add(column)
' Inicializa o formulário
Controls.Add(dgvUsuarios)
Me.AutoSize = True
Me.Text = "Vinculando objetos ao DataGridView"
End Sub
Private Function CriaComboBoxComEnums() As DataGridViewComboBoxColumn
Dim combo As New DataGridViewComboBoxColumn()
combo.DataSource = [Enum].GetValues(GetType(Permissao))
combo.DataPropertyName = "Perfil"
combo.Name = "Perfil"
Return combo
End Function
End Class
|
No formulário no evento Click do botão - Vincular Objeto ao DataGridView - chamamos os métodos :
Executando o projeto iremos obter:
Nota: Para salvar as informações você pode serializar o objeto. (Veja no site artigos que mostram como fazer isso)
Pegue
o projeto completo aqui:
Vinculando_Objetos_DataGridView.zip
Até o
próximo artigo...
Meus filhinhos, não amemos de palavra,
nem de língua, mas por obra e em verdade.
E nisto conhecemos que somos da verdade, e diante dele asseguraremos nossos
corações;
Sabendo que, se o nosso coração nos condena, maior é Deus do que o nosso
coração, e conhece todas as coisas.
1 João 3:18-20
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Exportando seus dados para diversos formatos - Macoratti.net
VB .NET - Importando e tratando arquivos CSV - Macoratti.net