Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
malainhocf

Preencher datagridview sem usar datasource e a unha

Recommended Posts

malainhocf

Olá, boa tarde a todos,

Depois de ter pesquisado no google não encontrei nada do que eu queria.

O que eu pretendo é preencher uma datagridview sem usar o datasource

Eu quero manipular os dados que vão para o datagridview.

Tudo a unha

Qual a melhor maneira ?

Obrigado

Preciso de manipular os dados e preciso de aprender a fazer sem usar datasource que é simples demais.


Cumprimentos

Cesar Oliveira

Desenvolvo websites e aplicações web

http://www.profissionalweb.net

Share this post


Link to post
Share on other sites
pmaster

Podes tentar da seguinte maneira

       conn.Open()

        Dim command As New NpgsqlCommand("SELECT * FROM dados", conn)
        Dim dr As Npgsql.NpgsqlDataReader

        dr = command.ExecuteReader()
       
        DataGridView1.Rows.Clear()

        While dr.Read()
            Me.DataGridView1.Rows.Add(dr.Item("Codigo peca"), dr.Item("Data"), dr.Item("Quantidade"), dr.Item("Referencia"))
        End While

Assim adiciona todas as linhas retornadas da query, mas podes sempre filtrar como quiseres.

Espero ter ajudado :thumbsup:

Share this post


Link to post
Share on other sites
malainhocf

E como posso tratar um campo chamada activo em que na base de dados tem S e N. Quando for S então escreve Sim. Quando é N então escreve Não.

Como faço isso ?

Obrigado


Cumprimentos

Cesar Oliveira

Desenvolvo websites e aplicações web

http://www.profissionalweb.net

Share this post


Link to post
Share on other sites
pmaster

Será que é isto

While dr.Read()
            if dr.Item("activo") = "s" then
            Me.DataGridView1.Rows.Add(dr.Item("Codigo peca"), dr.Item("Data"), dr.Item("Quantidade"), "Sim")
            else
            Me.DataGridView1.Rows.Add(dr.Item("Codigo peca"), dr.Item("Data"), dr.Item("Quantidade"), "Nao")
           end if
        End While

Sempre que o campo activo tiver um "S" ele escreve na grid "sim", case isso não aconteça escreve "nao"

Share this post


Link to post
Share on other sites
Weasel

Ou simplificando

While dr.Read()
  Dim srtActivo as String = "Não"
  If dr.Item("activo") = "s" Then strActivo = "Sim"
  Me.DataGridView1.Rows.Add(dr.Item("Codigo peca"), dr.Item("Data"), dr.Item("Quantidade"), strActivo)
End While


Knowledge to the masses


Share this post


Link to post
Share on other sites
pmaster

cabeçalhos na grid ?


Me.DataGridView1.Columns(0).HeaderText = "TEXTO"

Espero ter ajudado :thumbsup:

Share this post


Link to post
Share on other sites
malainhocf

ola a todos, obrigado a todos que me responderam,

Já consegui fazer o preenchimento de dados num datagrid sem usar DataSource e tudo a unha

Usei o datagridview1.colums.add()

Obrigado a todos


Cumprimentos

Cesar Oliveira

Desenvolvo websites e aplicações web

http://www.profissionalweb.net

Share this post


Link to post
Share on other sites
duduml

Coloca o código final...:thumbsup:

pode dar jeito a pessoas com as mesmas questões...  :cheesygrin:

CUMPS


"use windows, você merece!"

Share this post


Link to post
Share on other sites
malainhocf

Aqui fica o código da datagridview

DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        DataGridView1.AllowUserToAddRows = False
        DataGridView1.AllowUserToDeleteRows = False
        DataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically
        DataGridView1.MultiSelect = False
        DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect

        Dim cmd As New SqlCommand(sql, conn2)

        Dim dr2 As SqlDataReader

        dr2 = cmd.ExecuteReader

        DataGridView1.Columns.Add("idfuncionario", "ID")
        DataGridView1.Columns.Add("Descricao", "Categoria")
        DataGridView1.Columns.Add("nome", "Funcionário")
        DataGridView1.Columns.Add("activo", "Activo")
        DataGridView1.Columns.Add("custo", "Custo")
        DataGridView1.Columns.Add("utilizador", "Utilizador")

        While dr2.Read()
            Dim strActivo As String

            If dr2.Item("activo") = "S" Then
                strActivo = "Sim"
            Else
                strActivo = "Não"
            End If

            DataGridView1.Rows.Add(dr2.Item("idfuncionario"), dr2.Item("descricao"), dr2.Item("nome"), strActivo, dr2.Item("custo"), dr2.Item("utilizador"))
        End While

Espero ter ajudado e agradeço correcções ao meu código

Obrigado


Cumprimentos

Cesar Oliveira

Desenvolvo websites e aplicações web

http://www.profissionalweb.net

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.