fcstein 0 Denunciar post Postado Maio 24, 2013 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? Compartilhar este post Link para o post Compartilhar em outros sites
vAlfonso 0 Denunciar post Postado Maio 25, 2013 Também estive com este problema há um tempo atras, mas não consegui resolver. Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Maio 27, 2013 Você não pode adicionar uma cidade como "New Cidade", você deve adicionar a propriedade do nome da cidade como string, ou seja Public Sub New(ByVal nome As String, ByVal cidade As String) Me.nome = nome Me.cidade = cidade End Sub E depois você cria uma nova instancia: Dim cid As New Cidade("Porto Alegre") listaClientes.Add(New Cliente("Fernando", cid.nomecidade)) Compartilhar este post Link para o post Compartilhar em outros sites
fcstein 0 Denunciar post Postado Junho 6, 2013 Calma aí, você está dizendo que eu não devo ter uma propriedade do tipo Cidade no meu cliente, e sim o nome da cidade como String? Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Junho 7, 2013 Sim Compartilhar este post Link para o post Compartilhar em outros sites