Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347

    [VB6] Portare in Evidenza Elemento ListView

    Salve a tutti!
    Effettuo una ricerca nella mia listview...
    Una volta trovato l'elemento, lo seleziono da codice e fin qui tutto ok.. il problema è che ho 300 elementi circa quindo ho una scrool bar nella listview e non riesco visualizzare il mio elemento in quanto non riesco a comandare lo scroll della listview....
    Come faccio a risolvere questo problema??
    Con la datagrid usavo toprow qui come si fa??'


    grazie mille a tutti!

  2. #2
    non so se ho capito, provo:
    codice:
    Private Sub Form_Load()
    List1.AddItem "zero"
    List1.AddItem "uno"
    List1.AddItem "due"
    List1.AddItem "tre"
    List1.AddItem "quattro"
    List1.AddItem "cinque"
    List1.AddItem "sei"
    List1.AddItem "sette"
    List1.AddItem "otto"
    List1.AddItem "nove"
    List1.AddItem "dieci"
    List1.AddItem "undici"
    List1.AddItem "dodici"
    List1.AddItem "tredici"
    List1.AddItem "quattordici"
    List1.AddItem "quindici"
    List1.AddItem "sedici"
    List1.AddItem "diciassette"
    List1.AddItem "diciotto"
    List1.AddItem "diciannove"
    List1.AddItem "venti"
    
    List1.ListIndex = 16
    End Sub
    intendevi questo?
    ...Terrible warlords, good warlords, and an english song

  3. #3
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347
    grazie per la risposta ma mi sa che mi sono spiegato male..
    io utilizzo una listview.. quindi per evidenziare il mio elemento faccio così:
    codice:
          
           ListView1.SetFocus
           Set ListView1.SelectedItem = ListView1.ListItems(i)
    il mio problema, avendo molti elementi, è renderlo visibile in quanto si trova in una riga visualizzabile solo facendo lo scroll della listview...
    è un pò un casino anche da spiegare.. cmq quello che voglio fare è equivalente a quello che facevo con il TOPROW con le datagrid...

    GRAZIE e scusa se non riesco a spiegarmi bene.

  4. #4
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347
    Qualche idea???

  5. #5
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Potresti simulare la ricerca dell'elemento con i tasti cursore.
    Non credo ci siano altre soluzioni immediate.
    MSDN dichiara che attualmente il comportamento del ListView è così.

    Ciao,
    Ciao, Brainjar

  6. #6
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347
    uhm... cavolo..
    Puoi aiutarmi per favore... non so proprio da dove partire... SendKey?

    grazie mille!

  7. #7
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Apri un form, metti dentro una listview ed un bottone.
    Copia dentro questo codice :

    codice:
    Option Explicit
    Private Sub Command1_Click()
          Dim n As Integer
          Dim Item As ListItem
          Set Item = ListView1.ListItems(150)
          ListView1.SetFocus
          ListView1.ListItems(1).Selected = True
          For n = 1 To ListView1.ListItems.Count - 1
              If ListView1.ListItems(n).Text = Item.Text Then
                  Exit For
              End If
              SendKeys "{DOWN}"
          Next n
    End Sub
    
    Private Sub Form_Load()
       Dim clmX As ColumnHeader
       Set clmX = ListView1.ColumnHeaders. _
       Add(, , "Company", ListView1.Width / 3)
       Set clmX = ListView1.ColumnHeaders. _
       Add(, , "Address", ListView1.Width / 3)
       Set clmX = ListView1.ColumnHeaders. _
       Add(, , "Phone", ListView1.Width / 3)
       
       ListView1.BorderStyle = ccFixedSingle   ' Imposta la proprietà
                                               ' BorderStyle.
       Dim nV As Integer
       Dim itmX As ListItem
       For nV = 1 To 300
           Set itmX = ListView1.ListItems.Add(, , "Record " & nV)
           itmX.SubItems(1) = "Campo 2 di " & nV
           itmX.SubItems(2) = "Campo 3 di " & nV
       Next nV
       ListView1.View = lvwReport   ' Imposta View su Report.
    End Sub
    L'esempio ti seleziona l'item 150esimo, ma lo puoi adattare a
    qualsiasi item.

    Ciao,
    Ciao, Brainjar

  8. #8
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347
    ok! grazie mille... pensavo ci fosse un metodo alternativo al sendkeys visto che da parecchi problemi a volte..

    Grazie Mille ancora!!!!!!

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.