none
Como mudar o nome das colunas do DataGrid ?

    Question

  • Pessoal tenho dois forms com DataGrid os dados que aparecem nele vem direto do BD e aparece os nomes das colunas do BD como faço pra aparecer o nome que eu colocar em cada campo que vier do banco ao invés dos nomes da colunas do BD ?
    Gabriel Nogueira Guedes
    Monday, August 24, 2009 12:56 PM

Answers

  • Consegui resolver assim pessoal.

    Private Sub preenche_grid()
    Dim i As Integer
    On Error Resume Next
    Set DataGrid1.DataSource = rs
    With DataGrid1 'with significa com e substitui variavel a frente dele
    .Columns(0).Caption = "Código"
    .Columns(0).Alignment = dbgCenter
    .Columns(0).Width = 700
    .Columns(1).Caption = "Empresa"
    .Columns(1).Alignment = dbgCenter
    .Columns(1).Width = 800
    .Columns(2).Caption = "Tip. Estab."
    .Columns(2).Alignment = dbgCenter
    .Columns(2).Width = 900
    'numero refere-se as posições dos campos
    End With
    End Sub
    Gabriel Nogueira Guedes
    Wednesday, August 26, 2009 12:35 PM

All replies

  • Se o data source do datagridview for um dataset, você pode fazer de duas maneiras. Uma é usar um alias no select

    Select Coluna As Teste from tabela

    Assim o nome da sua coluna será teste

    Ou então tratar pela aplicação

    DataGridView1.Columns([indice]).Name =

    "Nome da coluna"

    Att,


    Alan
    • Edited by Alan Cossari Wednesday, January 27, 2010 11:27 AM
    Monday, August 24, 2009 1:18 PM
  • Atualmente eu faço assim pra abrir os dados da tabela no Grid

    Private Sub preenche_grid()
    With cmd
        .ActiveConnection = Conex
        .CommandType = adCmdText
        .CommandText = "select from clientes"

    End With
       With rs
        Set DataGrid1.DataSource = rs
       End With
    End Sub

    Só que isso ai vem do jeito que tá no banco tudo, não consegui fazer conforme você me mandou.
    Gabriel Nogueira Guedes
    Monday, August 24, 2009 1:37 PM
  • então faça o que eu te falei use o "As" no select
    Alan
    • Edited by Alan Cossari Wednesday, January 27, 2010 11:27 AM
    Monday, August 24, 2009 1:45 PM
  • DataGridView1.Columns([indice]).Name =

    O indice nessa expressão seria o que ?


    Gabriel Nogueira Guedes
    Monday, August 24, 2009 1:49 PM
  • o indice de colunas Ex:

    Indice 0 - codigo
    Indice 1 - nome

    etc... o indice que voce quer alterar

    lembrando que começa em zero
    Alan
    • Edited by Alan Cossari Wednesday, January 27, 2010 11:27 AM
    Monday, August 24, 2009 2:07 PM
  • Dá erro  "External name not defined" e aponta pro indice ai vai meu código

    Private Sub preenche_grid()
    With cmd
        .ActiveConnection = Conex
        .CommandType = adCmdText
        .CommandText = "select nome as nome from clientes"
    End With
       With rs
          Set DataGrid1.Columns("nome").Name = "Nome"
       End With
    End Sub
    Gabriel Nogueira Guedes
    Monday, August 24, 2009 2:11 PM
  • Olá Gabriel
     faz o seguinte conta o numero de colunas que voce tem na seu DataGrid, substitui o nome pelo nome !

    EX: em um datagrid tenho, Código, Nome e Descrição, conta da esquerda para a direita començando com o zero.


        0           1           2
    Código | Nome | Descrição









    Se foi util marque como util !

    Julio Cesar Ribeiro
    Monday, August 24, 2009 2:35 PM
  • Olá Gabriel
     faz o seguinte conta o numero de colunas que voce tem na seu DataGrid, substitui o nome pelo nome !

    EX: em um datagrid tenho, Código, Nome e Descrição, conta da esquerda para a direita començando com o zero.


        0           1           2
    Código | Nome | Descrição









    Se foi util marque como util !

    Julio Cesar Ribeiro

    Não entendi nada.
    Gabriel Nogueira Guedes
    Monday, August 24, 2009 2:39 PM
  • Gabriel...
    a propriedade column do seu grid contém uma coleção de colunas, logo elas são numeradas de zero até o numero de colunas - 1.

    Então se você quiser alterar o valor da primeira coluna você terá que mudar o indice 0 dela

    Assim:

    Set DataGrid1.Columns(0).Name = "Nome"

    e fará isso com todas as colunas que você queira alterar
    Alan
    Monday, August 24, 2009 2:47 PM
  • Grabiel
    O seu código está assim

    Private Sub preenche_grid() 
    With cmd 
      .ActiveConnection = Conex 
      .CommandType = adCmdText 
      .CommandText = "select nome as nome from clientes" 
    End With 
    
    With rs 
     Set DataGrid1.Columns("nome").Name = "Nome" 
    End With 
    End Sub 

    ''Aqui voce muda o nome pelo numero 
    With rs 
     Set DataGrid1.Columns(1).Name = "Nome" 
    End With 

    Julio Cesar Ribeiro
    Monday, August 24, 2009 2:48 PM
  • Então acontece o seguinte eu quero mudar o nomes dessas colunas que vem do BD pra o nome que eu escolher, porque o que tá acontecendo agora é o seguinte do jeito que tá no BD ele vem pro Grid, e eu quero mudar isso, mais não to entendendo o que você quer dizer, desculpa.
    Gabriel Nogueira Guedes
    Monday, August 24, 2009 3:05 PM
  • No código abaixo você faz o seguinte alterar o nome pelo numero.

    With rs
       Set DataGrid1.Columns("nome").Name = "Nome"
    End With


    Copia o código abaixo para sua aplicação e executar, a primera coluna do datagrid vai ficar como "Novo Nome"
    With rs
       Set DataGrid1.Columns(0).Name = "Novo Nome"
    End With


    Julio Cesar Ribeiro
    Monday, August 24, 2009 3:19 PM
  • então copiei o código ai que você me passou mais quando rodo dá esse erro "Method or data member not found"

    e apontra pro
    Set DataGrid1.Columns(0).Name = "Novo Nome"

    Gabriel Nogueira Guedes
    Monday, August 24, 2009 4:10 PM
  • Alguém pode me ajudar pessoal ?
    Gabriel Nogueira Guedes
    Tuesday, August 25, 2009 12:28 PM
  • Consegui resolver assim pessoal.

    Private Sub preenche_grid()
    Dim i As Integer
    On Error Resume Next
    Set DataGrid1.DataSource = rs
    With DataGrid1 'with significa com e substitui variavel a frente dele
    .Columns(0).Caption = "Código"
    .Columns(0).Alignment = dbgCenter
    .Columns(0).Width = 700
    .Columns(1).Caption = "Empresa"
    .Columns(1).Alignment = dbgCenter
    .Columns(1).Width = 800
    .Columns(2).Caption = "Tip. Estab."
    .Columns(2).Alignment = dbgCenter
    .Columns(2).Width = 900
    'numero refere-se as posições dos campos
    End With
    End Sub
    Gabriel Nogueira Guedes
    Wednesday, August 26, 2009 12:35 PM