Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

asp.net

Problema com ListBox.

Recommended Posts

Boa tarde galera,

 

Estou com uma bronca aqui que realmente não sei como resolver, tenho dois listboxs

 

ListBoxA

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

Itens vindos do banco de dados

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

 

listBoxB

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

Itens vindos da selação feita no listboxA

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

 

Até aqui tranquilo, consigo jogar no listboxB os itens selecionados no ListBoxA

 

Mas agora a bronca, tenho que gravar no banco os values do items contidos no listboxB, estou fazendo assim:

 

Contando a quantidade de itens que tem no listboxB

Dim n_cliente as Integer

n_cliente = listboxB.Items.Count - 1

 

Depois faço um for

Dim x as Integer

For x = 0 to n_cliente

Jogo no banco o valor (value) de cada item do ListBoxB

Insert into...... listBoxB.items.item(x).value

next

 

Mas estou recebendo como resultado apenas o value do primeiro item que foi inserido no listboxB, o que está de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o seguinte código e o mesmo funcionou perfeitamente, verifique se é isto mesmo o que deseja...

 

private void Button1_Click(object sender, System.EventArgs e)		{			for(int i=0;i< ListBox1.Items.Count;i++)			{				if(ListBox1.Items[i].Selected == true)					ListBox2.Items.Add(ListBox1.Items[i]);			}		}		private void Button2_Click(object sender, System.EventArgs e)		{			for(int i=0;i< ListBox2.Items.Count;i++)			{				Response.Output.WriteLine(ListBox2.Items[i].Value + "<br>");			}		}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu código é um asp.net, mas eu fiz assim

 

Dim n_cliente, n_partes, x as integer

n_cliente = lb_cliente.items.count

n_partes = lb_partes.items.count

 

for x = 0 to n_cliente

gravo no banco o valor lb_cliente.items(x).value

next

 

Mas a bronca é que quando vou ver no banco tenho dois registro, mas o value é apenas do primeiro registro dentro do listbox.

 

Estou usando asp.net e MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu código é um asp.net, mas eu fiz assim

 

Dim n_cliente, n_partes, x as integer

n_cliente = lb_cliente.items.count

n_partes = lb_partes.items.count

 

for x = 0 to n_cliente

gravo no banco o valor lb_cliente.items(x).value

next

 

Mas a bronca é que quando vou ver no banco tenho dois registro, mas o value é apenas do primeiro registro dentro do listbox.

 

Estou usando asp.net e MySQL

faz assim:

 

 

For i as integer = 0 to listBoxB.Items.Count -1	 ObjBanco.Gravar(listBoxB.Items(i).Value)Next
vê se rola...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Juro que não consigo entender a bronca que está acontecendo, porque no caso tentei também como você falou e ele só grava o valor do primeiro item do listbox, que foi adicionado., veja que meu código só difere do seu num aspecto, que é o lb_cliente.items.count - 1,

que eu já tinha testado mas nada de acontecer dele gravar na base os valores do todos os itens do listbox. Será que por estar jogando o valor do listbox.items.count numa variável poderia estar dando problema? Vou tentar jogar direto o valor do count no For.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Juro que não consigo entender a bronca que está acontecendo, porque no caso tentei também como você falou e ele só grava o valor do primeiro item do listbox, que foi adicionado., veja que meu código só difere do seu num aspecto, que é o lb_cliente.items.count - 1,

que eu já tinha testado mas nada de acontecer dele gravar na base os valores do todos os itens do listbox. Será que por estar jogando o valor do listbox.items.count numa variável poderia estar dando problema? Vou tentar jogar direto o valor do count no For.

você tá jogando numa variável ??? nao pode..por isso tá dando erro... tem q gravar direto no banco como eu fiz.. mas para evitar q grave os primeiros e caso de erro nao grave os últimos, da um Begin Tran e se tudo correr bem um Commit... caso contrario um RollBack

 

valeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que estou jogando numa variável é o lb_cliente.items.count - 1

 

Juro que não consigo entender a bronca que está acontecendo, porque no caso tentei também como você falou e ele só grava o valor do primeiro item do listbox, que foi adicionado., veja que meu código só difere do seu num aspecto, que é o lb_cliente.items.count - 1,

que eu já tinha testado mas nada de acontecer dele gravar na base os valores do todos os itens do listbox. Será que por estar jogando o valor do listbox.items.count numa variável poderia estar dando problema? Vou tentar jogar direto o valor do count no For.

você tá jogando numa variável ??? nao pode..por isso tá dando erro... tem q gravar direto no banco como eu fiz.. mas para evitar q grave os primeiros e caso de erro nao grave os últimos, da um Begin Tran e se tudo correr bem um Commit... caso contrario um RollBack

 

valeu?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já na declaração setei para multiple.

<asp:ListBox runat="server" ID="lb_clientes" Width="200" SelectionMode="multiple"></asp:ListBox><asp:ListBox runat="server" ID="lb_clientes1" Width="200" SelectionMode="multiple"></asp:ListBox>

você alterou o selection mode de ambos como multiple??

ListBox1.SelectionMode = ListSelectionMode.Multiple;ListBox2.SelectionMode = ListSelectionMode.Multiple;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.