Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Listview non trova subitems
sabato 18 agosto 2012 - 16.40
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
sab 18 ago 2012 - 16:40
Ciao al forum,
stò impazzendo per una cosa banalissima ma non riesco a vedere l'errore, ho una listview1 e dichiaro le colonne in questo modo:
ListView1.Columns.Add("File", 250, HorizontalAlignment.Left)
ListView1.Columns.Add("Stato", 150, HorizontalAlignment.Center)
ListView1.Columns.Add("Nr.Record", 100, HorizontalAlignment.Right)
ListView1.Columns.Add("Tempo Trascorso", 100, HorizontalAlignment.Center) <<<<< Questo è il subitems(3) ma non lo vede
popolo gli items così:
Dim index As Integer = 0
Dim fi As FileInfo() = di.GetFiles("*.txt") 'di.GetFiles(".txt") se vuoi filtrare
Dim fiTemp As FileInfo
For Each fiTemp In fi
Dim readText() As String = File.ReadAllLines(fiTemp.FullName)
Dim listViewItem1 As New ListViewItem(New String() {fiTemp.Name, "", readText.Length}, -1, Color.Empty, Color.Empty, Nothing)
Me.ListView1.Items.AddRange(New ListViewItem() {listViewItem1})
Next fiTemp
For i As Integer = 0 To Me.ListView1.Items.Count - 1
Me.ListView1.Items(i).SubItems(1).Text = ("Pronto")
Me.ListView1.Items(i).SubItems(3).Text = ("00:00")
Next
il subitems(2) lo popolo così
Me.ToolStripStatusLabel1.Text = Me.ListView1.Items(i).SubItems(2).Text
qunado lacio la procedura mi restituisce questo errore:
InvalidArgument=Valore di '3' non valido per 'index'. Nome parametro: index
cosa devo fare stò impazzendo Grazie
Mau67
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
sab 18 ago 2012 - 17:08
Su che riga ti dà l'errore?
Comunque, a naso, mi sembra che manchi lo 'add' dei subitem. Se capisco bene, tu crei le colonne da codice, quindi aggiungi gli item, ma a questo punto hai aggiunto solo la cella che sta sotto la prima colonna. I subitem, se non ricordo male, non vengono creati automaticamente solo per il fatto che ci sono un tot di colonne, ma vanno esplicitamemente aggiunti alla collezione subitem dell'item (riga) desiderato. Tu fai un'assegnazione di un valore alla proprietà text di un subitem che non esiste ancora. Mi pare che tu possa tranquillamente fare tutto in un colpo, ovvero eseguire un add del subitem inizializzandolo con un certo valore della proprietà text. Occhio che se vuoi scivere il primo e il terzo, devi anche creare il secondo. Non puoi aggiungere un subitem senza che ve ne sia un altro immediatamente prima, fosse anche inizializzato con stringa vuota; quindi non puoi scrivere e creare contemporanemanete subitem in posizioni arbitrarie, ma solo andando in fila. Una volta che li hai già creati, allora puoi accedere a quello che ti interessa, usando l'indice. Almeno se ricordo bene.....
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
mar 21 ago 2012 - 13:44
risolto dovevo aggiungere il subitem in questa stringa:
Dim listViewItem1 As New ListViewItem(New String() {fiTemp.Name, "", readText.Length}, -1, Color.Empty, Color.Empty, Nothing)
in questo modo:
Dim listViewItem1 As New ListViewItem(New String() {fiTemp.Name, "", "0.00" readText.Length}, -1, Color.Empty, Color.Empty, Nothing)
Grazie alla prossima
Ciao
Mau67
Torna su
Stanze Forum
Elenco Threads
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 !