Ir para conteúdo
Fórum Script Brasil
  • 0

DataGridView + VB.net (Problema)


resopi

Pergunta

Olá Pessoal.

Estou com um sério Problema com meu DataGridView...

Estou ctriando uma aplição Windows em VB.net no qual tenho uma DataGridView que alimento por uma série de consutas na base de dados. e alguns campos que alimento o Grid são Objetos, por exemplo eu Busco Todos os chamados abertos no meu sistema, e tenho um campo que traz os dados do atendente que abriu a chamada, dentro desse campo é um objeto com todos os dados do Atendente. e eu quero exibir no grid o nome do Atendente, na teoria eu deveria usar, Atendente.nome mas ao colocar isso na Opção DataPropertyName a coluna do DATAGRID Fica em branco. alguém sabe oque pode ser?

falou!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Basta sobrescrever o método ToString() da classe Atendente, com algo como:

Return Me.Nome

A DataGridView sempre usa a representação String do objeto, chamando o método ToString() do mesmo. Se você não sobrescrevê-lo verá algo como Namespace.Atendente.

Certo? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Guest mssacramento

Olá:

Tenho um problema do mesmo género,que ao chamar os registos ao DatagridView os registos aparecem em branco no datagridView...aparecem de facto os 6 registos que tenho na BD,mas as designações daquilo que se encontra nos registos não aparece...este é o código que utilizo para extrair :

Dim con As New OleDb.OleDbConnection

Dim ds As New DataSet

Dim da As OleDb.OleDbDataAdapter

Dim SQL As String

con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =D:\Projectos VB\norwin.mdb"

con.Open()

SQL = Nothing

SQL = "Select * from Empresas"

SQL = SQL & " ORDER BY nome"

da = New OleDb.OleDbDataAdapter(SQL, con)

TableEmpresas = New DataTable

da.Fill(TableEmpresas)

DataGridView1.DataSource = TableEmpresas

Alguma coisa errada com o código?

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Opa Grey...

Meu problema é esse mesmo que você disse. sobrescrevi o metodo tostring we funcionou beleza. só que é o seguinte eu tive que que fazer isso na classe de etendentes só que nem sempre eu preciso de nome dele posso precisar de outras propriedades da classe e ai como posso fazer para fazer isso?? supomos que no mesmo datagrid eu precise trazer o Nome do Atendente e login utilizado por ele... alguma ideia????

utilizei esse codigo

Public Overrides Function ToString() As String

        Return Nome

    End Function

falou!

Editado por resopi
Link para o comentário
Compartilhar em outros sites

  • 0

Bom, uma solução seria concatenar as informações usando o próprio método ToString(), por exemplo:

Return Me.Nome & " [" & Me.Login & "]"
Uma outra solução é usar o evento CellFormatting da própria DataGridView para manipular o que vai aparecer:
If e.ColumnIndex = 1 Then 'Se for a segunda coluna (isso é legal pra não pesar no processamento de todas as células) - lembre-se de mudar!
    Dim g As DataGridView = sender

    Dim obj As Atendente = g.Rows(e.RowIndex).DataBoundItem

    e.Value = obj.Nome 'Aqui você define o que vai ser mostrado

    e.FormattingApplied = True
End If

Certo? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...