Jump to content

[RESOLVIDO] Adicionar valores no Datagridview


kazzx
 Share

Recommended Posts

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

Link to comment
Share on other 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.

Making the impossible possible and pwing the world on db at a time.

Link to comment
Share on other 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

Link to comment
Share on other 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.

Link to comment
Share on other 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.

Link to comment
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
 Share

×
×
  • Create New...

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.