none
Formatar Datagridview via código RRS feed

  • Pergunta

  • Olá,

     

    Estou começando com Windows forms e tenho uma dificuldade bem básica.

     

    Em um form eu tenho um datagridview que utilizo para apresentar os dados de um dataset sendo que este dataset eu gero em um webservice...

     

    Desta forma :

     

    '=============

    Dim sql As String

    Dim ds As DataSet

     

    sql = "select "

    sql = sql & " codigo_do_produto,"

    sql = sql & " descricao_do_produto "

    sql = sql & " from "

    sql = sql & " cadastro_de_produtos "

    sql = sql & " order by "

    sql = sql & " descricao_do_produto "

     

    Dim ws As New MeuWebService.ServicosRemotos

    ds = ws.RetornaDataSet(sql)

     

    DataGridView1.DataSource = ds.Tables(0).DefaultView

    '========================================

     

    Até ai beleza...o datagridview é carregado com o cadastro de produtos. Meu problema é que a largura das colunas bem como os títulos são preenchidos de forma automática...

     

    1 - Como fazer para colocar os títulos das colunas tendo em vista que em tempo de design não tenho nada para ligar ao Datagridview ?

     

    2 - Como fazer para fixar a largura das colunas.

     

    3 - Tem como de alguma forma auto fazer as colunas preencherem toda a largura do Datagridview sem que eu tenha que ficar calibrando na mão ?

     

    Muito obrigado.

    sábado, 11 de agosto de 2007 23:07

Todas as Respostas

  • Você pode configurar em tempo de Designer o DataGridView sem precisar vinculá-lo a uma fonte de dados. Para isso faça:

    • Clique no DataGridView
    • Clique no SmartTag do DataGridView e escolha Edit Columns
    • Clique Add
    • Dê um nome para Coluna em Name. Com base em seu código acima você pode usar colCodigoProduto. Tome cuidado para que o  nome da coluna não seja igual a nomes de váriaveis existentes no seu código, por isso que incluir Col no inicio
    • Digite também o título da Coluna em Header text, pode ser Código
    • Em Type altere apenas se necessário, caso contrário mantenha o padrão DataGridViewTextBoxColumn
    • Clique Add para incluir outra coluna
    • Adicione todas as colunas necessárias...
    • Após adicionar as colunas clique em Cancelar e retornar à tela Edit Columns.
    • Observer que agora na tela Edit Columns, aparecerão todas as colunas adicionadas
    • Clique na primeira e observe as propriedades na lateral
    • Em DataPropertyName digite o nome da coluna que será retornada pela fonte de Dados (DataSet), para o exemplo do seu código digite Codigo_do_Produto, para a Coluna Código e descricao_do_produto para a coluna de descrição
    • Configure também a largura de cada coluna, alterando a proriedade Width, você pode também alterar o MinimumWidth assim determina a largura minima possível

    Outras propriedades podem ser modificadas de acordo com o que você desejar.

     

    Após adicionar as colunas, faça o seguinte. Em Solution Explorer marque a opção Show All Files, observe que será mostrado para seu Form o arquivo NomeDoForm.Designer.VB ou NomeDoForm.Designer.CS, abra esse arquivo e veja como ficou o codigo do seu DataGridView.

     

    Espero ter ajudado. Se conseguir resolver marque Sim para a pergunta se o Post foi Util...

    • Sugerido como Resposta SSANTOS sábado, 12 de dezembro de 2009 16:15
    segunda-feira, 20 de agosto de 2007 19:42
  • Prezado Jenner

    Obrigado pela explicação que me ajudou agora.

    saberia me dizer como deve ser feito para atualizar a base de dados diretamente do datagridview?

    Obrigado.


    SANTOS
    sábado, 12 de dezembro de 2009 16:19

  • saberia me dizer como deve ser feito para atualizar a base de dados diretamente do datagridview?


    Olá,

    Veja este exemplo bastante simples utilizando um SqlDataAdapter e sem ter necessidade de fazer um ciclo em todos os registo: VB.NET: Utilizando o controlo DataGridView


    Espero que ajude!
    Jorge Paulino
    Visual Basic em Português
    http://vbtuga.blogspot.com/

    segunda-feira, 21 de dezembro de 2009 00:37