Listview ... "Un amico inseparabile"

In ogni sviluppo è quasi inevitabile che io devo usare una listview. Così mi considero un controllo molto utile. In un primo momento è costato un po 'per capire il suo funzionamento e ci sono voluti diversi mesi per realizzare il loro pieno potenziale ... ma siccome ci rendiamo conto che siamo inseparabili.

Definizione
Per definire un semplice raccontare una listview è una collezione di ListViewItem di

Al fine di popolare un listview deve prima creare un oggetto ListViewItem (o più) e poi aggiunge l'oggetto alla listview utilizzando il metodo Add della proprietà Items.


 'Si suppone di avere un form denominato Form1 WinForm
 'Con un controllo ListView denominato ListView1

 Dim elemento As ListViewItem
 item = New ListViewItem ("Cliente 1")
 ListView1.Items.Add (item)

 'Così possiamo riempire con un ciclo for / next
 For i As Integer = 1 To 10
 Dim elemento As ListViewItem
 item = New ListViewItem ("Cliente" & i)
 ListView1.Items.Add (item)
 Prossimo

A ListViewItem in grado di memorizzare i vari dati, come NOME, COGNOME,
Indirizzo, ecc.

Questo richiede l'aggiunta di (aggiungere) a ciascuno degli elementi secondari ListViewItem necessari.


 Dim elemento As ListViewItem
 item = New ListViewItem ("Nome 1")
 'Ora, questo posso aggiungere un elemento oggetto
 'Sub-item per ogni ulteriori dati
 item.SubItems.Add ("Nome 1")
 item.SubItems.Add ("Indirizzo 1")
 item.SubItems.Add ("Phone 1")

 'Resta solo da aggiungere l'articolo da ordinare
 Raccolta 'ListViewItem di oggetti di
 'ListView1 allo stesso modo abbiamo fatto prima
 ListView1.Items.Add (item)

A listview ha viste diverse per visualizzare i dati, questi sono dettagli,
LergeIcon, List, SmallIcon e Tile.

Segue una descrizione di ciascuno preso dal l'aiuto di Visual Studio:

Dettagli Ogni elemento viene visualizzato su una riga separata con informazioni più dettagliate
di ogni elemento organizzati in colonne. La colonna all'estrema sinistra contiene
una piccola icona e un'etichetta, e le colonne successive contengono elementi secondari
specificato dall'applicazione. Le colonne comprendono un'intestazione che può visualizzare
un titolo per la colonna. L'utente può cambiare la dimensione di ogni
colonna in fase di runtime.
LargeIcon Ogni elemento viene visualizzato come una dimensione sull'icona qui sotto che contiene una
etichetta.
Lista Ogni elemento viene visualizzato come una piccola icona a destra che contiene un'etichetta.
Gli elementi sono disposti in colonne senza intestazione.
SmallIcon Ogni elemento viene visualizzato come una piccola icona a destra che contiene un'etichetta.
Piastrella Ogni elemento viene visualizzato come una dimensione sull'icona con l'etichetta di e elemento
informazioni sottoelemento si trova sulla vostra destra. L'applicazione specifica le informazioni
sottoelemento che appare. Questa visione è disponibile solo in Windows XP e
la famiglia di Windows Server 2003. Nei sistemi operativi precedenti, questo valore
viene ignorata e il controllo ListView viene mostrato nella vista
LargeIcon

.

Per visualizzare i dati quando si utilizzano i "dettagli" vista dobbiamo prima creare
colonne listview approvare l'importo di oggetti e gli elementi secondari che abbiamo.


 Column1 As New System.Windows.Forms.ColumnHeader
 Column2 As New System.Windows.Forms.ColumnHeader

 Column3 Dim As New System.Windows.Forms.ColumnHeader
 As New System.Windows.Forms.ColumnHeader Column4

 column1.Text = "Nome"

 column2.Text = "Last Name"
 column3.Text = "Indirizzo"
 column4.Text = "Telefono"

 column1.Width = 40
 column2.Width = 30
 column3.Width = 30
 column4.Width = 20

 'E' sempre importante assicurarsi che non ci sono
 'Le colonne ed è meglio eliminarli prima
 'Aggiungere le nuove colonne

 ListView1.Columns.Clear ()

 'A questo punto aggiungere le nuove colonne
 ListView1.Columns.Add (column1)
 ListView1.Columns.Add (column2)
 ListView1.Columns.Add (column3)
 ListView1.Columns.Add (Column4)

 ListView1.View = View.Details

Le impostazioni delle colonne può essere effettuata anche in modalità di progettazione dal
Proprietà colonne, non s apre una procedura guidata dal quale si amministra
listview colonne.
Proprietà

Ci sono alcune proprietà molto utili che non possono non sapere poi
dire che uso di più. Le proprietà rimanenti sono lasciati
capaciddad esercitare la vostra ricerca.

FullRowSelect L'impostazione di questa proprietà da sempre una vera e la sua funzione è quella di evidenziare tutta la linea, quando
Lavorare in visualizzazione Dettagli.
MultiSelect Abilita (true) o disabilitare (false) la selezione di più elementi all'interno di
listview.
HideSelection Se la proprietà è vero che non vedrà che elemento è selezionato quando il controllo
perde lo stato attivo. In alcuni casi è importante disattivare (false) questa opzione
per tenere traccia dell'elemento attivo.

32 Responses to "Listview ..." Un amico inseparabile ""

  1. Quispe bambino Jesus Rodriguez dice:

    Buon giorno dottore:
    prima speranza non preoccupatevi, ho q aiutarmi riguardo a come riempire il listview, utilizzare sempre il DataGridView .. bene la verità e non riempire il mio c listview come hanno cercato di q non è lo stesso ... ovviamente voglio riempire la mia listview con il record restituito da una tabella sqlserver utilizzando una query by example "SELECT ID, Descrizione FROM TablaPaises"

    vorrei sapere anche come aggiungere un record in un q casella di testo ho la mia listview, ma senza intaccare il mio database, e quando si fa clic sul pulsante per registrare dalla mia finestra sto lavorando il registro q q aggiungi alla mia listview ora essere aggiunti, se il mio database ...

    Mi auguro che può aiutare .. e ringraziare per il vostro aiuto .. e il suo contributo ...

    attn. Jesus Rodriguez bambino Quispe

  2. Quispe bambino Jesus Rodriguez dice:

    Grazie per la risposta Dr. tua .. se ho letto l'articolo, e mi ha aiutato molto .. Devo il tempo .. come sempre .. di essere aiutato con problemi come questi e per aiutare con quello che sappiamo .. rende la conoscenza sempre più a trovare cose nuove .. design e più altri ...

    dottore grazie, problema risolto

  3. Jimmy Saenz ha detto:

    tale, prima di tutto, congratulazioni per il tuo blog, ho fatto molto. Vorrei rispondere a una preoccupazione che ho, se non troppi problemi, dal momento che si dispone di un grande comando nel controllo ListView, sto facendo un giocatore vbnet. Io uso la listview per tutti i pannelli (riproduzione, playlist, filtri ...), nel caso di ricerca, una posizione in una lista tutte le canzoni che sono state aggiunte al database, la forma è una casella di testo dove si entra la canzone di trovare e premere il pulsante di ricerca, io uso un FindItemWithText per la ricerca .. e bene, in un msgbox, stampare la canzone non è o, perooo il favore ho bisogno da voi è che io voglio fare un focus nella voce listview è constatato che non piace per aggiungere elementi di indice, è sufficiente utilizzare: listview.items.add (CancionesEncontradas)
    poi, se si può aiutare si prega di essere in attesa di una pronta respuesta.gracias

  4. Jimmy Saenz ha detto:

    buenisimo il post, semplice ed interessante, e risolvere, grazie piccolo problema. che commentare il post precedente che sto facendo il piccolo progetto di un giocatore, vorrei eravamo in contatto per una query piccola, se puoi aggiungermi ai tuoi contatti sarebbe fantastico, un? Ma, a parte WMP controllo tra VB net c'è un altro modo di suonare mp3, perché non dipenda la libreria WMP? attesa per la risposta rapida di nuovo, un grazie in anticipo

  5. Quispe bambino Jesus Rodriguez dice:

    Buon giorno dottore.

    sempre con il loro aiuto, vorrei sapere la differenza fra DataGridView e listview.
    e controlli quale dei due mi ha vivamente consigliato di utilizzare per la gestione di più di 1000 record per ogni tabella in un database ..

    Devo prima.

    feliciandole e di nuovo per i contributi grandi ...

  6. Elisha ha detto:

    Mi raccomando di leggere questo post che credo sarà di grande aiuto:

    http://social.msdn.microsoft.com/Forums/es-ES/dotnetes/thread/faea77af-edec-41a9-970f-cedb07542e73

  7. deVIShop dice:

    saludoss:
    Ho letto molto i listview manico q

    Ho un qe dudaa avuto per quasi tre giorni e non riuscivo a risolvere q è

    Come si calcola l'intervallo di date ci si trova in una colonna di una listview?

    ---------------

    Descrizione:
    programmare un DateTimePicker per ogni volta che q q Scegliere una data verrà aggiunto in una colonna di vista list ..

    La domanda è q:
    Una volta aggiunto alla listview non trovare un modo per ottenere il primo intervallo data con il secondo, il secondo con il terzo i così via ...

    talves Vi presentiamo un tema come il modo per calcolare le date q sono stati aggiunti in una lista ...
    Se avete qualche raccomandazione o attendere la risposta sarà consego xD

    qualcosa di un po 'più descrittivo del problema che ho in questo q web :::

    http://www.forosdelweb.com/f79/sumar-fechas-listview-711801/~~V

    GRACIASSSSSSSSSSSS .....

  8. Angelandro Magno dice:

    una domanda sul tuo post,
    come aggiungere 2 articoli al mio listview con la proprietà pari a largeicons vista e mi piacerebbe per ogni articolo fosse una immagine diversa?

  9. Lopera Nicko dice:

    Saluti,

    agredezco la vostra collaborazione in anticipo. La mia domanda è la seguente: se ho già agredados diversi elementi per un controllo ListView. nessuno di questi è stato selezionato (così non ho fatto clic su di esso).
    come faccio a sapere che il codice listview non ha alcun elemento selezionato?

    listview.listitems qualcosa di simile (i). selezionare in VB 6.0

    molte grazie

  10. Sauro cat dice:

    come abbiamo un amico in comune : D solo in vb.net 2008 non può trovare tutte le opzioni (proprietà) che sono stati utili per impostare me ... avrà la capacità stessa di quella di VB 6?

    • Elisha ha detto:

      Ciao

      Ho commentato che il nuovo controllo ListView di Visual Basic. NET espone la maggior parte delle proprietà e dei metodi che avevano in Visual Basic 6 e solo bisogno di prendere in considerazione alcuni nomi sono cambiati.
      Il controllo ListView espone solo alcune nuove proprietà. Questo gruppo include l'attivazione (specificare se gli elementi sono attivati ​​con uno o due scatti), HeaderStyle (se potete cliccare sui titoli delle colonne) scorrevoli (da definire come False per impedire il movimento), LargeImageList (controllo ImageList utilizzato immagini per la modalità icone di grandi dimensioni) e SmallImageList (controllo ImageList utilizzato in tutte le altre modalità). Si noti che la finestra delle proprietà definisce la modalità di visualizzazione, come in Visual Basic 6, ma il rapporto è stato rinominato in modo quanto concerne i dati.

      Spero di aver eliminato alcuni dei vostri dubbi.

      Saluti

  11. Dice Gabriele:

    Ciao Spero che possiate rispondere ...
    Ho programmato una listview carge per me un elenco di clienti direttamente dal database, il mio problema è che voglio di selezionare i clienti con l'opzione listview FullRowSelect e tornare a ottenere i dati dalla riga selezionata, quindi torna alla creare un oggetto "cliente" dati dal listview, in modo da idk se capirà come ho spiegato, vi ringrazio molto per tutto, grazie per il vostro tempo.

  12. Scala ha detto:

    Ciao Eliseo, Prima di tutto voglio congratularmi con te per il blog .. è molto buona e mi ha servito bene.
    Ora faccio una query:
    Considerando il primo esempio
    item = New ListViewItem ("Nome 1")
    'Ora, questo posso aggiungere un elemento oggetto
    'Sub-item per ogni ulteriori dati
    item.SubItems.Add ("Nome 1")
    item.SubItems.Add ("Indirizzo 1")
    item.SubItems.Add ("Phone 1")
    'Resta solo da aggiungere l'articolo da ordinare
    Raccolta 'ListViewItem di oggetti di
    'ListView1 allo stesso modo abbiamo fatto prima
    ListView1.Items.Add (item)

    Come posso fare per passare i diversi elementi secondari alla textbox?

    Saluti e grazie

    • Scala ha detto:

      E risolverlo, proprio dalla guida per cambiare il listview.

      Saluti

    • Elisha ha detto:

      fare riferimento ai diversi elementi secondari basta usare un indice come mostro qui di seguito:

      Item.subitems TextBox1.Text = (0) di testo.
      textBox2.Text item.subitems = (1). testo
      textBox3.Text item.subitems = (2). di testo

      Fortuna

  13. martin ha detto:

    Ho bisogno di aiuto con una domanda che ho molto tempo fa e nessuno poteva risolvere. Posizionare un database completo in un listview, il problema è che sto aggiungendo questi dati vengono caricati alla fine e arriva un momento non sembra che io possa fare per mantenere la barra di scorrimento alla fine per vedere l'ultima cosa che aggiungendo.
    Da già vi ringrazio molto

  14. Da Silva ha detto in luglio:

    Amico ho un problema. Riavvio il mio sistema operativo o riformattare il mio computer sul mio sistema non riesco a vedere il listview dal codice di programmazione. Sto usando NET Visual 2003.
    Per dare qualche informazione in più il programma è stato creato nel VB4 a VB6 e ora migrato a lavorare in Visual Net 2003. Ho bisogno di installare per vedere il codice sorgente in listview .. -

  15. kiraleo dice:

    olahe molto ricercato sul listview e vorrei che mi aiuti con il passaggio a un elemento successivo in una listview
    come listview.nextitem paar funzione dal codice come uno dei due pulsanti per fare dopo, e una precedente

    apprezzo il vostro aiuto

  16. Padarinis dice:

    Ciao a C'era VB.60 la possibilità di mettere una chiave e si era nascosto. Quello che succede è che devo riempire un listview con numerati da 1 a 10, ma l'ID di ogni cliente deve essere nascosto. così quando si apre un listview. Puero ina finestra per caricare i dati da cui sarebbero nascosti dela ID. AH. ed inoltre potrebbe mettere le icone in ogni riga ..

  17. gabox dice:

    Ciao

    Molto buono il tuo blog ha anche un sacco di estetica ... che è raro in sviluppatori ;)
    Ora, la mia domanda è questa:
    Ogni esempio che riempire un listview da un hashtable che contiene più istanze di una classe specifica? So di usare un Foreach, ma durante l'esecuzione, il controllo ListView è "blank". Non so se mi esprimo.
    La ringrazio molto per la risposta.

    • gabox dice:

      Ciao

      A proposito il mio problema ho precisato che ho scoperto come farlo funzionare, solo che faccio al di fuori del controllo TabControl che era la listview, perché ero in un TabControl e cosa non funziona?
      Grazie mille per qualsiasi risposta.

  18. Miguel dice:

    ciao
    Spero che qualcuno mi può aiutare.
    il mio problema con la visualizzazione elenco è che io invio di informazioni tramite il codice perché ho generare le chiavi ei dati dei miei prodotti con un po 'di informazioni che mi dà l'utente e dei dati dopo quelli del listview inviarli ad una base dei dati, fino a quando ho tutto qui, ma di solito ben prima di salvare l'utente deve modificare i dati negli elementi secondari sono e quello che posso fare è modificare il sotto-voci DATA qualcuno mi può aiutare perché il panico e non riesce a trovare il soluzione a portata di mano grazie

  19. Giovanni dice:

    Ciao,

    Una query, come posso dire quando attivato scrool orizzontale, uno listview in vb net.

    Saluti

    Juan Carlos

  20. Diana dice:

    Ciao,

    Vorrei sapere come postare una foto in una lista, cioè inseriti in colonne dati recuperati da un database utilizzando set di dati, ma voglio che quando aparezce i dati quali nome appare accanto all'immagine di quella persona.

    Io apprezzo molto il vostro aiuto

  21. Alfredo dice:

    Vorrei sapere come inviare un ListView con una tabella di Access, un sencillito esempio perché non c'è modo per farlo.
    Grazie

  22. Maicol Retamal dice:

    Dr. onda Voglio fare una query
    come posso ottenere un elemento o un arots ejmplo listwiev q e quindi sottrarre l'elemento subtotale al totale q q è una etichetta che ospita le vendite totañ tieens se questa risposta sarebbe molto utile grazie mille

  23. Maicol Retamal dice:

    Voglio dire meglio jkajkajk buona
    ciò che accade a me non si può sottrarre l'elemento subtotale in mia etichetta listwiev chiamato total_venta voglio dire meglio.
    in listwiev Non riesco a togliere il prodotto
    q sottrarre il prodotto su questa etichetta

    in anticipo vi ringrazio molto

Commento