none
Usando ListView RRS feed

  • Pergunta

  • Boa tarde amigos!

    Pessoal to com um problema pois em um sistema que estou terminando to usando um ListView, sempre usei o DatagridView e estou querendo passar os valores do Listview para uma variavel.Amigos no DataGridView faço assim
    intEm_Estq = dgProduto.Rows(i).Cells(6).Value.ToString

    assim eu pego o valor do DataGrid

    pessoal gostaria de saber como faço o mesmo com o ListView
    Tentei assim

    intCodBarras = LtTelaVenda.SelectedItems(0).SubItems(1).ToString()  --------- Erro valor index 0 não é valido

    Lembrando que esse codigo estara em um Button.

    Ja quando uso esse codigo para testar no evento Clik do ListView, esse aki da certo
    MsgBox((LtTelaVenda.SelectedItems(0).SubItems(2).Text))

    Pessoal ja pesquisei na net mas to com dificuldade.
    Alguem pode me ajudar?


    Anderson.mds

    quinta-feira, 22 de setembro de 2016 16:45

Respostas

  • Aí sim!

    Faz assim:

    Dim itens As List(Of String) = New List(Of String)
    For Each item As ListViewItem In listView1.Items
        itens.Add(item.SubItems(0).Text)
    Next

    Estou jogando em uma lista de strings, mas você pode ir concatenando em uma string ou outra coisa que quiser. A lógica é essa aí.


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Marcado como Resposta anderson.mds sexta-feira, 23 de setembro de 2016 19:24
    quinta-feira, 22 de setembro de 2016 20:44

Todas as Respostas

  • Anderson,

    Deve estar dando problema pois você está esquecendo de selecionar a linha do listview e o seu código necessita de um item selecionado. Veja bem:

    intCodBarras = LtTelaVenda.SelectedItems(0).SubItems(1).ToString()

    A parte que deixei em negrito no código acima é que define que precisa ter um item selecionado antes de executar esse código.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    quinta-feira, 22 de setembro de 2016 16:57
  • Boa tade André,
    Então a primeira linha do LitView não é 0, por que o DataGriview começa no 0.

    To tentando mas da erro:

    Private sub Button1_clicl()

    intCodBarras = LtTelaVenda.SelectedItems(0).SubItems(1).ToString()

    cara não funciona no evento Click botão, agora no click do Listview, tudo ok.

    To pesquisando neste momento!!!!!!


    Anderson.mds

    quinta-feira, 22 de setembro de 2016 17:58
  • Não entendi o que você escreveu!

    Tira um print do teu ListView aí


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco


    quinta-feira, 22 de setembro de 2016 18:03

  • Anderson.mds

    quinta-feira, 22 de setembro de 2016 18:17
  • ta ai amigão!

    Cara to na luta, da uma analisada  por favor, espero não estar te atrapalhando em nada!


    Anderson.mds

    quinta-feira, 22 de setembro de 2016 18:19
  • Tira um print da sua tela também!

    Os dados da sua ListView foram adicionados manualmente? Como você alimenta os dados dela?


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    quinta-feira, 22 de setembro de 2016 18:47
  • André esse codigo é para quando eu seleciono o item no Controle, "ListView" eu quero pegar os items no Listview quando Clicar em um Button1? quando eu clico na linha do listview, ai da certo.
    Mas quero pegar todos os items do ListView ao Clicar no Button1.

    Entendeu!!!


    Anderson.mds

    quinta-feira, 22 de setembro de 2016 19:03
  • André é assim, esse sistema é um caixa de supermercado, ao coloca o codigo de barras os items são listados na ListView, o que eu quero é como to vendendo esses items tenho que dar baixa no estoque.
    Abro o banco de dados, uso a query  "UPDATE" para atualizar os dados no banco, dar baixa no estoque.
    To tentando pegar a quantidade de estoque que to mostrando no ListView.

    O que quero saber é, como pego o valor da coluna 3 que aparece no ListView, so que usando o Botão.
    É so isso?


    Anderson.mds

    quinta-feira, 22 de setembro de 2016 19:45
  • Cara, assim.. releia todos os seus comentários e veja se em algum deles você foi claro no que quer.

    Agora está falando que quer pegar todos os itens do ListView (O que não tinha mencionado em momento algum)

    Como tá difícil de entender a necessidade, fiz um código simples e básico aqui para você se basear e tentar resolver

    Minha ListView está assim (com 2 itens)

    Meu código do botão para pegar o item que estiver selecionado é esse:

    //Pegando o item selecionado
    Dim valor AS string = listView1.SelectedItems(0).SubItems(0).Text

    Baseado nisso, espero que tente aí e consiga.


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    quinta-feira, 22 de setembro de 2016 19:54
  • Então, você disse, o item que estiver selecionado, mas não esta selecionado.
    São items de compra, esse codigo que vc colocou funciona se eu selecionar, mas o que preciso e pegar todos os items ao clicar no botão, varer todos os codigo, sei que preciso usar um Loop.

    mas como seria o codigo! sem selecionar. so no click do botão!


    Anderson.mds

    quinta-feira, 22 de setembro de 2016 20:37
  • Aí sim!

    Faz assim:

    Dim itens As List(Of String) = New List(Of String)
    For Each item As ListViewItem In listView1.Items
        itens.Add(item.SubItems(0).Text)
    Next

    Estou jogando em uma lista de strings, mas você pode ir concatenando em uma string ou outra coisa que quiser. A lógica é essa aí.


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Marcado como Resposta anderson.mds sexta-feira, 23 de setembro de 2016 19:24
    quinta-feira, 22 de setembro de 2016 20:44
  • Boa noite, bom se vc quer pegar uma subtem sem clickar, faça assim amigo.

    Codigo

    Public Class Form1
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Me.ListView1.Items.Add("0").SubItems.Add("1")
            MsgBox(Me.ListView1.Items.Add(0).SubItems.Add(1).Text.ToString)
    
            '  ex = intCodBarras = (Me.ListView1.Items.Add(0).SubItems.Add(1).Text.ToString) '/ resultado e 1
        End Sub
    End Class

    Espero ter ajudo ate mais :)


    sexta-feira, 23 de setembro de 2016 03:45
  • Boa tarde anderson.mds

    Conseguiu implementar alguma das soluções propostas?

    Se sim, por gentileza, não esqueça de marcar como resposta.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 23 de setembro de 2016 16:21
    Moderador
  • Obrigado André!

    Muito bom amigão, até mais!!!


    Anderson.mds

    sexta-feira, 23 de setembro de 2016 19:24