Jump to content

[RESOLVIDO] Copiar items da listview para listbox


metaclay
 Share

Recommended Posts

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.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other 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 😄

Link to comment
Share on other 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?

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other 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

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Não reparei nesse pormenor no primeiro post, e depois também te escapou no meu resumo 😄 :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.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.