Jump to content
ivofb

Selecionar item no listview e mostrar no textbox

Recommended Posts

Boa Noite! 

Estou aprendendo a desenvolver um programa em VB.net usando o VisualStudio 2015 e estou com uma dificuldade em fazer essa instrução.

Tenho um ListView onde é carregado os itens do banco de dados e preciso dar uma instrução que o usuário irá seleccionar (Checked) no máximo 3 itens no ListView.

Cada item seleccionado deve ser mostrado em 3 textbox.

Ex: selecionei um item, este irá para o 1º textbox; selecionei um segundo, este irá para o 2º textbox ; selecionei um terceiro item, este irá para o 3º textbox.

Utilizei comandos da seguinte forma:

=============================================================================================

Private Sub mlv1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles mlv1.SelectedIndexChanged
        For I = 0 To mlv1.Items.Count

            If mlv1.Items(I).Checked = True Then
                mlblOBJprg1.Text = mlv1.SelectedItems.Item(I).ToString

            End If

        Next
        mtxtOBJprg1.Text = mlblOBJprg1.Text

        mtxtOBJprg2.Text = mlblOBJprg1.Text

        mtxtOBJprg3.Text = mlblOBJprg1.Text

    End Sub

E em outro coloquei da seguinte forma:

Private Sub mlv1_ItemSelectionChanged(sender As Object, e As ListViewItemSelectionChangedEventArgs) Handles mlv1.ItemSelectionChanged
        If mlv1.SelectedItems.Count > 3 Then
            e.Item.Selected = False
            MsgBox("Selecione apenas 3 itens por etapa", MsgBoxStyle.Information, "AGE")
        End If
    End Sub

Mas essas instruções não funcionam.

Alguém pode me ajudar e ver onde estou errando.

Agradeço a atenção.

Share this post


Link to post
Share on other sites

Olhando seu código tem algo que não entendi, você esta sempre setando o valor do mlblOBJprg1.Text

 

mlblOBJprg1.Text = mlv1.SelectedItems.Item(I).ToString

 

Você terá que criar uma lógica quando for o primeiro item setar o valor do mlblOBJprg1 e quando for o segundo item setar o valor do mlblOBJprg2

Share this post


Link to post
Share on other sites

Veja se é mais ou menos isso:

 

        private int contadorIndice = 1;

        
        private void mlv1_SelectedIndexChanged(object sender, EventArgs e)
        {
            for (int i=0; i < this.mlv1.Items.Count; i++)
            {
                if (this.mlv1.Items[i].Selected)
                {
                    ((TextBox)this.Controls.Find("txtResultado" + contadorIndice, true)[0]).Text = this.mlv1.Items[i].Text;

                    if (contadorIndice == 3)
                        contadorIndice = 1;
                    else
                        contadorIndice++;
                }
            }
        }

 

Share this post


Link to post
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

  • Similar Content

    • By Norwad
      Boa tarde, tudo bem? 
      Estou fazendo um CRUD e no formulário é possível colocar dados como peso e futuras consultas, mas sempre que atualizo uma informação ela sobre escreve na list view.
       
      Gostaria de guardar um numero X de peso e consultas, com suas respectivas datas.
      Por exemplo;        90Kg 11/11/1111
                                     70KG 22/22/2222
                                     85kg 33/33/3333 e assim por diante.
       
      Mas não tenho ideia de como fazer a programação, se faço um if/switch no banco de dados, na class do xml do formulário ou em uma class helper.
    • By lindomar55
      galera nao to achando soluçao pra isso , tenha uma sub no form que carrega uma listview normalmente porem se coloca essa sub em um modulo e fazendo as modificaçoes necessarias ainda assim ele nao carrega o listview....
      alguem sabe explicar o problema
    • By Lenon John
      Eu preciso inserir mais de 3000 itens no ArrayList, o que gera o erro: method code too large.
      Acredito que usando um TXT como "BANCO DE DADOS" vai resolver o meu problema.
       
      Atualmente eu faço assim:
      -----------------------------------------------------
      ArrayList lista = new ArrayList();

      // inserindo os itens no ArrayList
      lista.add(new produtoItem(R.drawable.imagem, "AA", "AA", "AA", "AA"));

      adapter = new produtoAdapter(this, lista);
      ListView listView = (ListView) findViewById(R.id.listView1);
      listView.setAdapter(adapter);
      -----------------------------------------------------
       
      Como pegar os dados de um TXT e inserir no meu arrayList?

      OBS: Esse APP precisa funcionar sem a necessidade de internet. Ou seja, não posso usar um banco dados externo.
    • By eduardohaag
      Olá sou amador e iniciante em programação.
      Estou trabalhando  em um projeto onde tenho uma tela com uma lista de pedidos, com varias colunas como, ID, cliente, previsão de entrega, valor total. 
      Gostaria de colocar uma coluna com o texto "visualizar", que quando ocorresse um click, abrisse abaixo da linha selecionada uma lista secundaria com os produtos do pedido, quantidade, preço etc...
       
      Porém não tenho a menor noção de como fazer isso. Pode ser que exista algum controle que tenha essa possibilidade.
      Estou trabalhando com vb.net.
    • By mpsouzaa
      Eu tenho 2 Planilhas. A primeira DBCLIENTES com CodCliente, Nome e Telefone dos clientes e a segunda DBPEDIDOS com CodPedido, CodCliente, ValorTotal
       
      eu preciso fazer com que a listview carregue: codpedido | codcliente | nome do cliente | valor total
       
      já tentei colocar um vlookup quando carrego a listview mas dá erro e não sei outra forma de fazer. Se alguém puder me ajudar serei eternamente grato 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.