none
Datagridview RRS feed

  • Pergunta

  • Pessoal estou com um pequeno problema, sempre preenchei meus Datagridview com o SELECT e SqlDataAdpter sem definir as colunas, agora surgiu a necessidade de criar um Datagridview com as colunas já definidas, como preencho esse Datagriview com o SELECT e cada campo em sua coluna ?
    Se foi util marque como util ! Julio Cesar Ribeiro
    sexta-feira, 27 de novembro de 2009 11:48

Respostas

  • Júlio,

    Não sei se entendi direito a tua pergunta, mas para popular um datagridview, com colunas pré-definidas, tu deve, em design, ou em código mesmo, setar a propriedade "DataPropertyName" de cada coluna. Cada coluna do gridview deve estar ligada a um campo do teu select. Após referenciar cada coluna do grid com um campo do select, tu faz o databound normalmente (datagridview.DataSource = dataset.Tables[0].DefaultView ).

    Ah, não esqueça de marcar a propriedade "AutoGenerateColumns" para false, via código, antes de fazer o bound com o source.

    Espero ter ajudado.

    Abraço
    segunda-feira, 30 de novembro de 2009 12:33

Todas as Respostas

  • Adicione o componente no form, clique com o botão direito em cima do componente e selecone "Edit Columns...". Aparecerá uma tela onde você insere o nome da coluna o tipo... em seguida clique em "Add". Feche esta janela e teras controle de diversas outras propriedades de cada coluna inserida. Espero ter contribuido.
    sexta-feira, 27 de novembro de 2009 12:09
  • Olá Franzoi tudo beleza ?
     As Colunas foram já adicionadas no DataGridView o meu problema é como preenche as colunas já definidas com as informações do banco de dados atraves de um SELECT.
    Se foi util marque como util ! Julio Cesar Ribeiro
    sexta-feira, 27 de novembro de 2009 12:12
  • Se você fizer um select com a ordem das tabelas definidas acredito que nao terá problemas
    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    sexta-feira, 27 de novembro de 2009 12:20
  • Julio,
    Você coloca o nome do objeto + "Columns" + "indice" ou "nome da coluna" assim você tera acesso a cada uma das colunas.

    Ex.: DataGridView1.Columns(1)

    Não sei se era isso que precisavas?

    sexta-feira, 27 de novembro de 2009 12:28
  • Franzoi, de uma olhada no código abaixo era mais ou menos isso que eu estava falando em popular um datagridview com as coluna já definidas.
    Dim strQuery As String = "SELECT [CFOP Code], Description, Type, Situation FROM [CFOP Code]"
            Dim Conn As New SqlConnection(My.Settings.Conexao)
            Dim da As New SqlDataAdapter(strQuery, Conn)
            Dim ds As New DataSet
            Dim db As New BindingSource
            Try
                Conn.Open()
                da.Fill(ds, "[CFOP Code]")
                db.DataMember = "[CFOP Code]"
                db.DataSource = ds
                Me.dgvCFOP.DataSource = ds.Tables(0)
                Me.CFOPCode.DataPropertyName = "CFOP Code"
                Me.Description.DataPropertyName = "Description"
                Me.Type.DataPropertyName = "Type"
                Me.Situation.DataPropertyName = "Situation"
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            Finally
                Conn.Close()
            End Try
    Mais só que as colunas estão aparecendo em duplicidade, no final do último campo "Situation" começa novamente "CFOP Code", algum sabe como resolver esse problema ?
     
    Se foi util marque como util ! Julio Cesar Ribeiro
    sexta-feira, 27 de novembro de 2009 15:01
  • Julio,

    segue um tutorial, espero que lhe ajude.

    http://www.linhadecodigo.com.br/Artigo.aspx?id=1049

    att,

    Fernanda
    “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
    segunda-feira, 30 de novembro de 2009 12:23
    Moderador
  • Júlio,

    Não sei se entendi direito a tua pergunta, mas para popular um datagridview, com colunas pré-definidas, tu deve, em design, ou em código mesmo, setar a propriedade "DataPropertyName" de cada coluna. Cada coluna do gridview deve estar ligada a um campo do teu select. Após referenciar cada coluna do grid com um campo do select, tu faz o databound normalmente (datagridview.DataSource = dataset.Tables[0].DefaultView ).

    Ah, não esqueça de marcar a propriedade "AutoGenerateColumns" para false, via código, antes de fazer o bound com o source.

    Espero ter ajudado.

    Abraço
    segunda-feira, 30 de novembro de 2009 12:33
  • Olá Gabriel,
     Eu já tinha setado a propriedade "DataPropertyName" das colunas com os campo do meu Select, o que estava faltando mesmo era definir a proriedade "AutoGenerateColumns" como FALSE do meu DataGridView.


    Obrigado pela ajuda ! 
    Se foi util marque como util ! Julio Cesar Ribeiro
    segunda-feira, 30 de novembro de 2009 13:56