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

Rodrigues

Actualizar dados numa gridView ?

6 mensagens neste tópico

Viva !

Uma Questão "básica"

Tenho uma dataGridView para ver o resultado duma SQL com base nos elementos de uma listBox?

Q.do selecciono uma linha da listBox queria ver o resultado na SQL na  dataGridView.

Vejo a 1ª escolha mas as seguintes são acrescentadas (mais linhas) !!

Como actualizo, ou seja vejo só o resultado relativo à última selecção !

Isto deve ser básico !!

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas.

Não é muito dificil, primeiro tens de por na tua query de slq por exemplo

sql1 = "SELECT * FROM tabela WHERE id like " & listbox1.selecteditem & " ; " 

Depois igualas o teu dataset  ao datasource da datagrid

DataGridView1.DataSource = datasetX
DataGridView1.DataMember = "tabela"

Espero ter ajudado

       

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se as linhas lhe são adicionadas, presumo que esteja a meter linhas à "la pata".

Como estás a mostrar as linhas a partir da tal ListBox?

Isto porque se actualizares o DataSource da DataGrid, tens o efeito desejado.

Visto isto, e mesmo que não queiras alterar o teu actual método, podes simplesmente fazer:

DataGridView1.DataSource = Nothing

Antes do bloco que mete para lá as linhas.

De qualquer maneira, explica melhor a forma como estás a trabalhar os dados para que possas ser ajudado melhor e mais rapidamente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estou a fazer assim:

Private Sub cboListaProfessores_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboListaProfessores.SelectedIndexChanged
        Dim SelectedProf As Integer
        con.Open()
        SelectedProf = cboListaProfessores.SelectedIndex + 1
        sql = "SELECT * From HorarioProfessor WHERE(((HorarioProfessor.cod_Prof) = " & SelectedProf & "))"
        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(ds, "Horarios") 'armazena os registo obtidos no DataSet ds
        DataGrid.DataSource = ds.Tables("Horarios")
        con.Close()
    End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E isso vai te acrescentando registos na DataGridView?

À primeira vista parece-me bem :D

EDIT: Espera lá. Onde tens a instância daquela variável DS ?

Exprimenta, antes de fazeres o fill, fazer uma nova instância do dataset:

        da = New OleDb.OleDbDataAdapter(sql, con)
        ds = New System.Data.DataSet
        da.Fill(ds, "Horarios") 'armazena os registo obtidos no DataSet ds
        DataGrid.DataSource = ds.Tables("Horarios")

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E não é que era esse o pequeno grande lapso !!

Obrigado ribeiro55

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