Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite
Pessoal, estou com um problema para carregar o DataGridView com List de objeto genérico no VB.
Tenho uma classe Cliente que possui uma propriedade cidade, da classe Cidade.
No grid quero mostrar o nome do cliente e o nome da cidade.
Para isso carrego um List de Cliente e jogo para o DataSource do grid, fica mais ou menos assim (vou colocar só os campos quero mostrar para ficar mais legivel):
Public Class Cliente
Property nome As String
Property cidade As Cidade
Public Sub New(ByVal nome As String, ByVal cidade As Cidade) Me.nome = nome
Me.cidade = cidade
End Sub
End Class
Public Class Cidade
Property nomeCidade As String
Public Sub New(ByVal nomeCidade As String)
Me.nomeCidade = nomeCidade
End Sub
End Class
'dentro do form fica assim:
Public Class Form1
Dim listaClientes As New List(Of Cliente)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataGridView1.AutoGenerateColumns = False
Dim cid As New Cidade("Porto Alegre")
listaClientes.Add(New Cliente("Fernando", cid))
DataGridView1.DataSource = listaClientes
End Sub
End Class
No grid, adicionei as Columns e na propriedade DataPropertyName passei a propriedade que quero que apareça em cada Column, mas a cidade, no grid, fica apenas com nomeDoProjeto.Cidade, ao invés de "Porto Alegre"
Alguém sabe como resolvo isso?
Carregando comentários...