Adicionando e Removendo Itens entre dois ListBox - ASP .NET
Informática
31/01/2009
Por: Sueli Mitie Joboji
Neste artigo mostraremos um exemplo fácil de como adicionar/remover itens entre dois ListBox.
Primeiramente arraste dois ListBox (dentro da Toolbox-> Standard). Em nosso exemplo, o primeiro ListBox conterá todos os professores disponíveis para a turma selecionada. Já o segundo ListBox conterá os professores selecionados para a turma. Para isso, carregue os dados em cada um deles (através de um SqlDataSource ou de um ObjectDataSource).
Acrescente dois Buttons para realizar as operações de troca.
Dê um duplo clique no primeiro botão e adicione o código abaixo. Neste exemplo, criamos uma lista ordenada com os itens que foram selecionados. Depois, adicionamos aos itens já existentes, ou seja, a lista continua ordenada. E por fim, carregamos no ListBox.
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim lista_ordenada As New SortedList()
While (list_disp.Items.Count > 0 And (Not list_disp.SelectedItem Is Nothing))
Dim selectedItem As ListItem = list_disp.SelectedItem
selectedItem.Selected = False
Dim li As ListItem
For Each li In list_sel.Items
lista_ordenada.Add(li.Text, li.Value)
Next
list_sel.Items.Clear()
list_sel.DataSourceID = ""
list_sel.DataSource = lista_ordenada
list_sel.DataTextField = "key"
list_sel.DataValueField = "value"
list_sel.DataBind()
End Sub
Dê um duplo clique no segundo botão:
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim li As ListItem
Dim lista_ordenada As SortedList = New SortedList()
While (list_sel.Items.Count > 0 And Not list_sel.SelectedItem Is Nothing)
Dim selectedItem As ListItem = list_sel.SelectedItem
selectedItem.Selected = False
For Each li In list_disp.Items
lista_ordenada.Add(li.Text, li.Value)
Next
list_disp.Items.Clear()
list_disp.DataSourceID = ""
list_disp.DataSource = lista_ordenada
list_disp.DataTextField = "key"
list_disp.DataValueField = "value"
list_disp.DataBind()
End Sub
End Class
Pronto! Agora você já pode adicionar/remover itens de um listbox para outro e os itens permanecerão ordenados!
Esta apresentação reflete a opinião pessoal do autor sobre o tema, podendo não refletir a posição oficial do Portal Educação.
por Colunista Portal - Educação
O Portal Educação possui uma equipe focada no trabalho de curadoria de conteúdo. Artigos em diversas áreas do conhecimento são produzidos e disponibilizados para profissionais, acadêmicos e interessados em adquirir conhecimento qualificado. O departamento de Conteúdo e Comunicação leva ao leitor informações de alto nível, recebidas e publicadas de colunistas externos e internos.
UOL CURSOS TECNOLOGIA EDUCACIONAL LTDA, com sede na cidade de São Paulo, SP, na Alameda Barão de Limeira, 425, 7º andar - Santa Cecília CEP 01202-001 CNPJ: 17.543.049/0001-93