Ir para conteúdo
Fórum Script Brasil
  • 0

Validar Itens Em Listbox Com Propriedade Style Em Checkbox


Tiago  José

Pergunta

Olá pessoal, preciso de ajuda

Eu criei um LisBox, com a propriedade style em Checkbox, só que eu gostaria de usar individualmente cada linha do list, e não o list como um todo. Por exemplo, eu gostaria de ativar/desativar individualmente cada linha do ListBox, que tem mais ou menos 100 registros. Eu estava tentando usar variáveis, a cada click no list o sistema enviava uma variável, só que isso funcionava para todo o list, e não apenas para o item que eu selecionei!!!

Agradeço desde já

Até mais

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

então, pra saber qual ta checado ou não, assim como pra deschecar todos, é so percorrer com um For todos os elementos do ListBox. ai pela propriedade Selected do ListBox, você sabe se ta checado ou não. tipo assim:

Dim i As Integer
    
    With List1
        For i = 0 To .ListCount - 1
            If .Selected(i) Then
                MsgBox "O item " & Chr(34) & .List(i) & Chr(34) & " está selecionado!"
            End If
        Next
    End With[/code] ai pra deschecar é so fazer:
[code]List1.Selected(indice) = False

Link para o comentário
Compartilhar em outros sites

  • 0

não entendi direito, mas acho q seria tipo isso aqui, não??

Dim i As Integer
    
    With List1
        For i = 0 To .ListCount - 1
            If .Selected(i) Then
                List2.AddItem .List(i)
            End If
        Next
    End With[/code]

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu Kuori, mas o problema não é bem esse

O fato é que o código funcionou. Quando eu marco uma informação no listBox1, ela realmente vai para o listBox2, mas se eu desmarcar, a informação vai mais uma vez para o listBox2, e fica repetida, se eu clicar 10 vezes, marcando e desmarcando no listBox1, aparecerão 10 informações iguais no listBox2. Esse código está funcionando para o ato de selecionar, e não de validar o ckeckBox. Não consigo resolver esse problema.

Se puder me ajudar novamente, agradeceria muito

Muito Obrigado
Link para o comentário
Compartilhar em outros sites

  • 0

você quer q seja no clique do ListBox?? se for faca no evento ItemCheck do ListBox. no parametro Item do evento, vem o numero do indice do item q ele clicou. ai você ve, se o Selected estiver True, você adiciona ele no outro ListBox. se tiver False, você faz um For no outro ListBox, e procura qual é, no segundo ListBox, o indice do item clicado no primeiro. ai você remove o item do segundo.

seria isso??

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Kuori, Muito obrigado.

é exatamente isso que você entendeu.

Aqui está o código que eu fiz, só que eu não entendi muito bem, como eu desmarco através do For. Aqui está o código que eu fiz, só que apresenta erro 13

Dim i As Integer

With ListaPorModelo

For i = 0 To .ListCount - 1

If .Selected(i) = True Then

list2.AddItem .List(i)

Else

list2.RemoveItem .List(i)

End If

Next

End With

Poderia me explicar como aplicar o for no código acima...

Muito obrigado
Link para o comentário
Compartilhar em outros sites

  • 0

ó, acho q é pra ser tipo assim o q você quer:

Private Sub List1_ItemCheck(Item As Integer)
    Dim i As Integer

    If List1.Selected(Item) Then
        List2.AddItem List1.List(Item)
    Else
        For i = 0 To List2.ListCount - 1
            If List2.List(i) = List1.List(Item) Then
                List2.RemoveItem i
                Exit For
            End If
        Next
    End If
End Sub[/code]

Link para o comentário
Compartilhar em outros sites

  • 0

você usa o For porque você não sabe qual é o indice do item q você quer excluir, você teria q excluir pelo texto dele.

porque, por exemplo, o cara clica no segundo indice do primeiro listbox. como eu sei qual a localizacao dele no segundo listbox?? eu não sei qual é, por isso eu procuro pelo texto (propriedade List(index)). quando eu achar eu excluo.

deu pra entender??

a e é bom eu avisar tb esse codigo não vai funcionar direito caso você tenha dois items com o mesmo nome dentro do ListBox.

normalmente não tem sentido por duas vezes a mesma opcao no ListBox, mas se esse for o seu caso, da um toque q a gente da um jeito aqui.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...