Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

malainhocf

Preencher datagridview sem usar datasource e a unha

Mensagens Recomendadas

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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


Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
duduml

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

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

CUMPS


"use windows, você merece!"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.