• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

metaclay

[RESOLVIDO] Copiar items da listview para listbox

11 mensagens neste tópico

Boas, como é que se pode fazer para que os items seleccionados da listview sejam copiados para uma listbox E que por sua vez, os items ficam selecionados na listbox?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E estamos a falar de que tipo de view da ListView?

O bom das ListBox é que são colecções de Objectos, e como tal podes adicionar o ListViewItem inteirinho lá para dentro, se quiseres, correndo o risco da representação em String não ser a que pretendes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tipo de view como assim?

o objectivo desta funcionalidade é poder copiar o conteudo da listview para uma listbox "escondida". Vou fazer isso porque tenho uma função de impressão que so trabalha com listbox... Se conseguisse inserir os items selecionados para a listbox e estes tambem ficassem selecionados, conseguia por a função de impressao a bombar :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A ListView tem vários tipos de view. Variam desde uma muito parecida com uma listbox até uma parecida com uma datagrid.

Porque razão só funciona com ListBox?

Ainda não vi isso, mas aposto que com muito pouca alteração metes a funcionar com ListView.

De qualquer maneira, o que pretendes é passar uma lista para a outra, seleccionando os items na listbox.

Por outras palavras queres copiar a lista de um lado apra o outro e seleccionar todos os items da listbox, é isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A vista da listview é com os icones grandes, sem data grid. Nao sei porque so funciona com listbox, mas até agora ainda nao consegui por a funcionar o codigo com listview...

"Por outras palavras queres copiar a lista de um lado apra o outro e seleccionar todos os items da listbox, é isso?" - sim, é isso xD

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
        For Each LVI As ListViewItem In ListView1.Items
            ListBox1.Items.Add(LVI.Text)
        Next

        ListBox1.SelectionMode = SelectionMode.MultiSimple

        For it As Integer = 0 To ListBox1.Items.Count - 1
            ListBox1.SetSelected(it, True)
        Next

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sergio isso está a dar um pequeno problema... Ta a copiar todos os items que estao na listview em vez de copiar so os que estao seleccionados...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não reparei nesse pormenor no primeiro post, e depois também te escapou no meu resumo :D :D

Basta simplesmente trocar o Items para SelectedItems:

        For Each LVI As ListViewItem In ListView1.SelectedItems
            ListBox1.Items.Add(LVI.Text)
        Next

        ListBox1.SelectionMode = SelectionMode.MultiSimple

        For it As Integer = 0 To ListBox1.Items.Count - 1
            ListBox1.SetSelected(it, True)
        Next

EDIT:

- 2 coisas. EDITS chamam-se edits porque se fazem no mesmo post.

- Quando resolves as coisas, não chega para a comunidade dizeres que as resolveste. Acrescenta a solução, sempre.

O intuito da comunidade não é ajudar um a um individualmente. Trata-se de uma "entreajuda" onde se partilham os problemas e as soluções. O teu post não serve apenas para te a ajudar a ti, mas a todos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não faz mal :D

Acrescenta, por favor, no título do post uma tag [RESOLVIDO], enquanto o sistema que tinhamos anteriormente não volta ao activo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora