I ListView

mercoledì 30 agosto 2006 - 00.15

Hakai87 Profilo | Newbie

Vorrei sapere alcune informazioni su questa classe
1) Io ho due listview e voglio che selezionando una row da uno con un tasto add questa row si aggiunga all'altro listview... come posso fare?
2)Come faccio a riportarmi il valore contenuto in una specifica colonna e in una specifica row?

Grazie per l'aiuto :D

blood Profilo | Senior Member

>Vorrei sapere alcune informazioni su questa classe
>1) Io ho due listview e voglio che selezionando una row da uno
>con un tasto add questa row si aggiunga all'altro listview...
>come posso fare?

Usa il metodo listView.Items.Add()

>2)Come faccio a riportarmi il valore contenuto in una specifica
>colonna e in una specifica row?

Usa il metodo listView.Items.Item(indice) dove ad indice corrisponde l'indice della riga

>
>Grazie per l'aiuto :D

di nulla, ciao
---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

Hakai87 Profilo | Newbie

Io ho due listView Con lo stesso numero di colonne
in listView ci sono un tot numero di righe e selezionandola una e spingendo su Add deve esse riportata su listView2 l'intera riga(composta da 3 colonne).
Se metto: listView2.Items.Add(listCard.SelectedItem);
Mi dice "Riferimento a un oggetto non impostato su un'istanza di oggetto."

E poi se metto listView2.Items.Item(); mi dice che :'System.Windows.Forms.ListBox.ObjectCollection' non contiene una definizione per 'Item'.

Help :(

blood Profilo | Senior Member

>Io ho due listView Con lo stesso numero di colonne
>in listView ci sono un tot numero di righe e selezionandola una
>e spingendo su Add deve esse riportata su listView2 l'intera
>riga(composta da 3 colonne).
>Se metto: listView2.Items.Add(listCard.SelectedItem);
>Mi dice "Riferimento a un oggetto non impostato su un'istanza
>di oggetto."
>
>E poi se metto listView2.Items.Item(); mi dice che :'System.Windows.Forms.ListBox.ObjectCollection'
>non contiene una definizione per 'Item'.
>
>Help :(

Ti metto un pezzo di codice di esempio per farti capire...

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

edit: se vuoi portarti una selezione multipla (come dici tu piu colonne), allora devi farti un ciclo per scorrerti gli elementi selezionati...
---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

alextyx Profilo | Expert

Se i due listview hanno uguale struttura, cioè le stesse colonne, allora puoi usare questo codice:

Private Sub BtnAggiungi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAggiungi.Click

If Me.LswOrigine.SelectedItems.Count = 1 Then
Dim it As ListViewItem = CType(Me.LswOrigine.SelectedItems(0).Clone, ListViewItem)
Me.LswDestinazione.Items.Add(it)
End If

End Sub

Come vedi, intanto ci si accerta di avere uno ed uno solo item selezionato nel listview di origine e poi lo si clona e si aggiunge al listview di destinazione.
Per ottenere il contenuto di una particolare cella puoi usare la seguente funzione:

Private Function MostraValoreCella(ByRef ListV As ListView, ByVal Riga As Integer, ByVal Colonna As Integer) As String
MostraValoreCella = ListV.Items(Riga).SubItems(Colonna).Text
MessageBox.Show("nella colonna " & Colonna.ToString & " della riga " & Riga.ToString & " è contenuto: " & ControlChars.CrLf & MostraValoreCella)
Return MostraValoreCella
End Function

che chiamerai, ad esempio, così:

Me.Label1.Text = MostraValoreCella(Me.LswOrigine, 0, 0)

A seconda del listview e delle coordinate che gli passi, avrai indietro il valore della cella desiderata, del listview desiderato.

Hakai87 Profilo | Newbie

Scusate ma mi servirebbe in c# il codice :(
Perchè listView1.Items.Item mi dice : listView.Objectcollection nn contine euna definizione per item :(

alextyx Profilo | Expert

Non avevo capito che ti serviva in C#
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5