Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    [VB6]: Listview

    Ciao ragazzi,
    un'informazione, ho trovato sul web questo codice che serve per cercare in una listview
    tramite una textbox:

    codice:
    Dim strMatch As String
        Dim i As Long
        
        strMatch = LCase$(TXT_TROVA.Text)
        With LsVw1
            If Len(strMatch) <> 0 Then
                For i = 1 To LsVw1.ListItems.Count
                    If Left$(LCase$(.ListItems(i).Text), Len(strMatch)) = strMatch Then
                        .ListItems(i).ForeColor = vbWhite
                    Else
                        .ListItems(i).ForeColor = vbBlack
                    End If
                Next
            Else
                For i = 1 To LsVw1.ListItems.Count
                    .ListItems(i).ForeColor = vbBlack
                Next
            End If
        End With
    e fin qui tutto bene, ma serve per cercare solo nella prima colonna della listiew,
    ma se io volessi cercare i dati ad esempio nella seconda colonna come posso fare?

    Grazie mille
    vr-claudio

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,318

    Moderazione

    Ormai dovresti sapere che c'è il forum apposito...
    Inoltre, hai tante discussioni aperte nel forum corretto e mai una volta che tu abbia usato i tag CODE, come espressamente richiesto dal regolamento interno.

    Sposto la discussione e aggiungo io i tag... per il futuro, sei pregato di usarli, come fanno tutti.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    RE: Moderazione...

    Ciao LeleFT,

    probabilmente e quasi sicuramente è stata solo una svista...
    vr-claudio

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    Un piccolo aiutino...

    Grazie mille

  5. #5
    Utente bannato
    Registrato dal
    Mar 2007
    Messaggi
    190
    salve vr-claudio

    per cercare i dati all'interno di una List...
    non puoi utilizzare un sistema lineare un vettore 1D (1234)
    dovresti passare ad un sistema a matrice 2D (a1a2a3a4b1b2b3b4c1c2c3c4d1d2d3d4e1e2e3e4)

    l'archiviazione in un sistema lineare va bene per dei testi o dei dati semplice.
    la ricerca dati all'interno di un sistema lineare, è come cercare una lettera in una frase...

  6. #6
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    i listitems dovrebbero avere al loro interno una collezione subitems (non ricordo bene )
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Vedo che la guida non la studia proprio nessuno...

    Metodo FindItem , con tanto di esempio allegato.


  8. #8

    Re: [VB6]: Listview

    Originariamente inviato da vr-claudio
    Ciao ragazzi,
    un'informazione, ho trovato sul web questo codice che serve per cercare in una listview
    tramite una textbox:

    codice:
    Dim strMatch As String
        Dim i As Long
        
        strMatch = LCase$(TXT_TROVA.Text)
        With LsVw1
            If Len(strMatch) <> 0 Then
                For i = 1 To LsVw1.ListItems.Count
                    If Left$(LCase$(.ListItems(i).Text), Len(strMatch)) = strMatch Then
                        .ListItems(i).ForeColor = vbWhite
                    Else
                        .ListItems(i).ForeColor = vbBlack
                    End If
                Next
            Else
                For i = 1 To LsVw1.ListItems.Count
                    .ListItems(i).ForeColor = vbBlack
                Next
            End If
        End With
    e fin qui tutto bene, ma serve per cercare solo nella prima colonna della listiew,
    ma se io volessi cercare i dati ad esempio nella seconda colonna come posso fare?

    Grazie mille
    vr-claudio
    Premetto che concordo con gibra, tuttavia ritornando al codice postato nel 1° messaggio ti dico: se la parola che stai cercando si trova all'inizio della stringa dell'item della listview, il tuo codice la trova, altrimenti no.

    In genere è preferibile estendere la ricerca a tutta la stringa, e quindi usare la funzione Instr , per cui anche se la parola che devi cercare non è all'inizio della stringa, riesci a trovarla.

    Ti scrivo questo perchè se a te interessava solo l'uguaglianza tra le 2 stringhe avresti semplicemente usato un costrutto If senza la funzione Left


    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.