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

kazzx

[RESOLVIDO] Adicionar valores no Datagridview

6 mensagens neste tópico

viva de novo,

tenho um formulário com uma listbox onde estão nomes de pessoas.

num outro formulário tenho um datagridview e ao lado um botão.

eu sempre que clico no botão as pessoas que estão na listbox são adicionadas ao datagridview, mas eu isso não queria.

o que eu queria é que quando clicasse no botão, aparecesse a primeira pessoa da listbox no datagridview e não todas e assim sucessivamente, ou seja, à medida que ia clicando no botão iam aparecendo as pessoas, uma a uma, existentes na listbox.

é de saber que os dois formulários não estão no formulário principal. o do datagridview está no formulário principal e o outro formulário da listbox só aparece quando se clica num botão. estou a trabalhar com bases de dados Access.

basicamente tenho de ir buscar o primeiro valor à tabela da BD.

queria saber como o fazer :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não utiliza uma ListView em vez de DataGridView?

ListView é muito mais simples de utilizar, torna se o ideal para apresentar poucos valores ..

Creio que deve começar com questões aos passos.. por o que me apercebi, está com duvidas também em como buscar valores da base de dados..

Tente ser mais explicito talvez o consiga ajudar..

Compr.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podes fazer como diz o flash_PT usares uma listbox em vez de datagrid... e podes fazer assim:

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form2.Show()
        Dim valor As String = Form2.ComboBox1.Items(0)
        ListBox1.Items.Add(Form2.ComboBox1.Items(0))
        Form2.ComboBox1.Items.Remove(valor)
    End Sub 

para preencheres a combobox com dados da base de dados ve isto :

http://vbtuga.blogspot.com/2008/10/vbnet-utilizando-o-controlo-combobox.html

espero ter ajudado

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o datagridview é o mais adequado para o meu caso.

porque a intenção é sempre que clicar no botão e aparecer o próximo valor da tabela no datagrid, ao lado da coluna do nome irá aparecer automaticamente uma combobox. basicamente, se na tabela da BD tiver 30 pessoas e as quiser fazer aparecer no datagridview (uma a uma) automaticamente também irão aparecer 30 combobox's à frente de cada nome.

já agora, porque é que me estão a dar exemplos de código utilizando uma combobox?

cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

 Private Sub btnproximo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnproximo.Click

        Dim postos As Long

        Dim conn As New OleDbConnection()
        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Projecto\GerirFilas\DataBase\DadosFila.mdb"

        Dim cmd As OleDbCommand = conn.CreateCommand
        cmd.CommandText = "Select nrpostos FROM postos"
        
        'Abre conexão ..
        conn.Open()

        
        Dim leitor As OleDbDataReader = cmd.ExecuteReader()
        Try
            While leitor.Read()
                postos = leitor("nrpostos")
            End While

            'Fecha conexão
            'leitor.Close()


        Catch erro As Exception
            MsgBox("ERRO:" & erro.Message, MsgBoxStyle.Information)
        End Try

        'Verificar se podemos adicionar mais um user aos postos
        If dgv1.Rows.Count = postos Then
            Beep()
            MsgBox("Todos os postos já se encontram ocupados. Retire alguém.")
        Else
            'Tratar aqui de ir buscar o próximo
            'Dim cmd As OleDbCommand = conn.CreateCommand
            cmd.CommandText = "Select nome FROM espera"

            leitor.Close()
            leitor = cmd.ExecuteReader()

            If leitor.Read() Then
                dgv1.Rows.Add(leitor("nome"), pst.Items(0), Format(DateAndTime.TimeSerial(Hour(Now), Minute(Now) + 30, Second(Now)), "hh:mm:ss"))
                'dgv1.Rows.Add(leitor("nome"), pst.Items(0), Format(DateAndTime.TimeSerial(Hour(Now), Minute(Now) + 1, Second(Now)), "hh:mm:ss"))
                Dim nome As String = leitor("nome")
                leitor.Close()
                'Eliminar o nome da tabela Espera
                cmd.CommandText = "delete FROM espera where nome='" & nome & "'"
                cmd.ExecuteNonQuery()
            Else
                Beep()
                MsgBox("Não existem pessoas em fila de espera.", MsgBoxStyle.Exclamation)
            End If
        End If
        leitor.Close()
        conn.Close()

    End Sub 

e assim ficou resolvido.

tive de criar uma tabela na BD e um novo formulário também.

0

Partilhar esta mensagem


Link 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