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

tOSTAS

Como listar Apenas alguns item na ListView?

23 mensagens neste tópico

Boas !

Eu tou a trabalhar na minha PAP e estou a fazer a gestão de uma clinica médica, eu criei um listview para ver o histórico das consultas, mas eu gostava ver só as consultas de um certo utente?

Agradeço qualquer ajuda =)

Cumps!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá e bem-vindo.

Das duas uma:

Ou já trazes os dados filtrados, ou podes correr todos os itens da lista à procura dos nomes que não são os do filtro para eliminar.

Eu aconselho a já trazeres os dados filtrados.

O que estás a fazer para preencher a ListView ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu estou a usar o dataset e o table adapter da Base de Dados e respectiva tabela e depois faço o seguinte:

Sub listarconsultas()


        frm_consultas.ListView1.Items.Clear()
        frm_consultas.ConsultasTableAdapter1.Fill(frm_consultas.PapDataSet1.consultas)



        For i = 0 To frm_consultas.PapDataSet1.Tables("consultas").Rows.Count - 1

            frm_consultas.ListView1.Items.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("codconsulta"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("codutente"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("dataconsulta"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("dadosconsulta"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("prescricoes"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("peso"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("altura"))
            
        Next
        

Desta forma lista todos os dados presentes na tabela consultas.. gostava que mostrasse o utente que eu esta a consultar.

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que eu tinha pensado era

Dim procurar As String

        procurar = "SELECT * FROM consultas where nome  like '*" + TextBox1.Text + "*'"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quais as colunas da tabela consultas?

ja agora o like não é assim ;)

convem fazers um replace ... para evitar erros nas pelicas

  procurar = "SELECT * FROM consultas where nome  like '%" + replace(TextBox1.Text,"'","''") + "%'"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ah bom obrigado, as colunas da tabela consultas são: codconsulta, codutente, dadosconsulta, dataconsuta, altura e peso..

O que é que preciso de fazer para mal carrege no OK e a listview actualizar para o nome ou outro campo que que filtrar ;) que dores de cabeça...

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vai antes entao pelo codutente ... porque podes ter o mesmo nome em 2 utentes. por exemplo ana filipa existem muitas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tOSTAS o que tu queres é passar o conteúdo para a listview e não sabes cm fazer e isso???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o conteudo filtrado.. porque passar a tabela completa consigo com o codigo que postei em cima:

Eu estou a usar o dataset e o table adapter da Base de Dados e respectiva tabela e depois faço o seguinte:

Sub listarconsultas()


        frm_consultas.ListView1.Items.Clear()
        frm_consultas.ConsultasTableAdapter1.Fill(frm_consultas.PapDataSet1.consultas)



        For i = 0 To frm_consultas.PapDataSet1.Tables("consultas").Rows.Count - 1

            frm_consultas.ListView1.Items.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("codconsulta"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("codutente"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("dataconsulta"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("dadosconsulta"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("prescricoes"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("peso"))
            frm_consultas.ListView1.Items(i).SubItems.Add(frm_consultas.PapDataSet1.Tables("consultas").Rows(i)("altura"))
            
        Next
        

Desta forma lista todos os dados presentes na tabela consultas.. gostava que mostrasse o utente que eu esta a consultar.

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tOstas Faz-me um favor e manda o código por PM para eu analisar melhor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

todo o codigo que eu tenho para preencher o listview ja postei.. é só esse

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depois de teres utilizado uma query como as que tens atrás

procurar = "SELECT * FROM consultas where nome  like '%" + replace(TextBox1.Text,"'","''") + "%'"

Não precisas de filtrar nada na ListView, porque o resultado da query já vem filtrado.

Tens é de listar os resultados da query.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tOstas Faz-me um favor e manda o código por PM para eu analisar melhor.

Por PM não!

Vê o exemplo do ribeiro55 e caso não consigas mostra o projecto (deixa o link para o ficheiro).

As ajudas no fórum são para ser públicas e não individuais. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpem a minha ignorancia, mas onde vou executar a query, nao tou a entender :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

  Dim cnnP As New Data.SqlClient.SqlConnection("server=Database\sqlexpress;database=Database;Uid=User;pwd=password")
        Dim dap As New Data.SqlClient.SqlDataAdapter
        dap = New Data.SqlClient.SqlDataAdapter("Select * from clientes", cnnP)
        Dim dsp As New DataSet
        dap.Fill(dsp)
        For Each dr As DataRow In dsp.Tables(0).Rows
            Dim lvi As ListViewItem = New ListViewItem(dr("id_cliente").ToString())
            lvi.SubItems.Add(dr("nome").ToString())
            lvi.SubItems.Add(dr("idade").ToString())
            lvi.SubItems.Add(dr("Cidade").ToString())
            ListView1.Items.Add(lvi)
        Next

cria 4 colunas

e altera a view para details.

é isto que queres?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu ja tenho tudo criado e a escrever.. os datasets e tableadpeters fiz com os wizards do VB..

eu so quero mesmo voltar a escrever a lista mas com os criterio que escolher, com o filtro que escrever.. nao sei se me faço entender :S

cumps

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