Cambiare icona definita in una riga di una listview (VB6)

mercoledì 01 ottobre 2008 - 09.48

gemepaso Profilo | Newbie

Ciao a tutti. Ho una listview con n righe e all'inizio di ognuna di esse un icona (o rossa o verde) che definisce lo stato.

In fase di aggiornamento di una riga, anzichè ricaricare tutta la listview, aggiorno solo i valori che
sono cambiati (nel mio caso, stato riga e l'icona). Per il valore dello stato non faccio altro che:

Listview1.ListItems.Item(i).ListSubItems(4).Text = "NUOVO STATO"

Vorrei cambiare nello stesso modo l'icona, ma non riesco trovare il modo
Grazie
Marco


Icona caricata in Listiew da un controllo ImageList1 nel seguente modo

'*********************************************************************************

Dim itmx As ListItem
Dim Icona As Integer
Dim Cont As Integer


Listview1.ColumnHeaders.Clear
Listview1.ListItems.Clear

Sql = "SELECT * FROM DOC_RIGHE

'******** construisco le intestazioni Colonne *************
If rs.EOF = False Then
For i = 1 To rs.Fields.Count
Listview1.ColumnHeaders.Add i, , rs.Fields(i - 1).Name, 150 * Len(rs.Fields(i - 1).Name)
Next i
End If

'******************* Popolo ListView ***********************


Do While rs.EOF = False

'*********** definisco Icona ***************

If Trim(rs.Fields("STATO")) = "1" Then
Icona = 28
ElseIf Trim(rs.Fields("STATO")) = "2" Then
Icona = 29
End If

'************ Dati **************

Cont = Cont + 1

Set itmx = Listview1.ListItems.Add(, Trim(rs(rs.Fields(0).Name) & "") & Cont & "$", Trim(rs(rs.Fields(0).Name) & ""), , Icona)
For i = 1 To rs.Fields.Count - 1

itmx.SubItems(i) = Trim(rs(rs.Fields(i).Name) & "")
Next i
rs.MoveNext

Loop


rs.Close
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5