none
List Box RRS feed

  • Pergunta

  • Bom Dia pessoal...

    Minha duvida é o seguinte, eu estou fazendo um programa que preciso utilizar varias list box e concatenar o que esta dentro dela. As Lists box que fiz na mão foi tranquilo, porem as que o conteúdo estão sendo carregadas com dados do banco não estou conseguindo fazer, o que código que estou usando seria esse:

     For Each item In Me.listbox_Curso.SelectedItems
                    Label3.Text += item + " , "
                Next item

    segunda-feira, 12 de maio de 2014 13:42

Todas as Respostas

  • Olá passe o tipo que vai funcionar veja :

    For Each item As ListBox In ListBox1.SelectedItems
    
                Dim str As String = item.Text
    
                MessageBox.Show(str)
    
    
            Next

    segunda-feira, 12 de maio de 2014 16:39
  • Olá ... Mas eu precisaria de pegar os dados que foram selecionado e salvar no banco. Porquê no caso seria para uma escola de informática, e nessa list eu carrego todos os cursos que ela tem na unidade, e assim os cursos que o aluno selecionasse eu salvaria no banco.

    segunda-feira, 12 de maio de 2014 18:19
  • Medelles, ai seria algo do tipo

    Dim Query As String = "INSERT INTO tabela VALUES"
    For Each Item As ListItem In ListBox1.SelectedItems
       Query += "(" + Item.Text + "),"
    Next Item
    Query = Query.SubString(0, Query.Length - 2)
    
    'Roda o execute command com a variável "Query"...

    Tem que fazer ajustes, mas preciso saber mais... o que você guardou na tabela foi o nome? se foi você precisa das chaves primárias, e assim por diante.

    Se você postar a tabela aonde você vai salvar os dados e a tabela aonde estão listadas os cursos (com a colunas) ai fica mais fácil de explicar.

    segunda-feira, 12 de maio de 2014 18:46
  • É assim, a list box tem como colocar dados nela normal escrevendo e colocando conteudo nela buscando os itens no banco. Eu carrego ela normal do banco, o que eu gostaria de fazer, que não estou conseguindo com a list carregada com os itens do banco, é que o usuario selecione mais de um item, exemplo selecionando os cursos word e excel. Eu gostaria que salvasse os dois itens numa linha só no banco, para quando fosse ver na a consulta, ficasse assim word, excel. Com o código que eu postei eu consegui com fazer isso com os itens da list box feito a mão, mas não funciona com os itens de list carregada do banco.
    segunda-feira, 12 de maio de 2014 20:55
  • Olha Medelles, então acho que você tem um problema ai... de estrutura.

    Eu acredito que o seu projeto ficaria melhor se você tivesse em seu banco 3 tabelas:

    > Aluno (Dados do Aluno).
    > Cursos (Todos os Cursos Disponíveis).
    > Cursos_Do_Aluno (Uma tabela com 2 chaves estrangeiras, para "Aluno" e "Curso" formando uma chave primária).

    Ai sim, você carrega os dados do aluno conforme precisar, carrega na listbox todos os cursos disponíveis, depois pesquisa a união entre "Cursos_Do_Aluno" e "Cursos" para aquele alune, marcando SELECTED na listbox.

    Esse é o método mais correto para o uso do banco de dados nessa interação que você expôs, até porque se você concatenar todas as opções marcadas em uma string e salvar essa string em uma coluna só na tabela "Alunos", esse campo vai ficar enorme e você vai perder o controle, por exemplo, se você parar de ministrar um curso e quiser saber quais alunos você vai perder, por exemplo.

    Agora para o usuário selecionar mais de um item, a listbox tem que ter a propriedade SelectionMode marcada como "Multisimple" ou "MultiExtended". Somente...

    quinta-feira, 15 de maio de 2014 18:04
  • Então meu banco tem essas tabelas. Meu problema esta sendo na programação. Quando o usuário seleciona mais de um curso, eu não estou conseguindo fazer a que todas as opções selecionada pelo usuário sejam salva na tabela. Eu to usando um for, porem só conseguido salvar os itens se eu mesmo carregar a list box, se eu usar os dados do banco, ele não funciona. Estou usando esse código:

     For Each item In Me.listbox_Dias.SelectedItems
                Label1.Text += item + " , "
            Next item

    sexta-feira, 16 de maio de 2014 13:16
  • Olá Medelles, tenta pôr este código no evento Click ou DoubleClick da ListBox

    If Label1.Text = "" Then
                Label1.Text = ListBox1.SelectedItem.ToString
            Else
                Label1.Text = Label1.Text & " , " & ListBox1.SelectedItem.ToString
            End If

    Abraço....

    terça-feira, 20 de maio de 2014 01:24