Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361

    errore caricamento listview

    Ciao a tutti, mi capita una cosa strana!!!
    Sto cercando di caricare dei dati da una tabella in una listview, nel metodo proposto da MSDN e usato anche nelle discussioni. Ma mi da un errore quando carico il subitem (invalid property value)
    non riesco a capire cos'è .... ieri ero riuscito a risolverlo, ma oggi no. Posto il codice

    codice:
    Dim conn As ADODB.Connection
    Dim tony As New ADODB.Recordset
    SQL = "select * from tony"
    tony.Open SQL, conn, 3, 3
    
    Dim clmX As ColumnHeader
       Set clmX = ListView1.ColumnHeaders.Add(, , "id")  
       Set clmX = ListView1.ColumnHeaders.Add(, , "Tipologia Sede")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Città")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Indirizzo")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Linea")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Totale Annuo")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Nota")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Nota2")
    
    Dim campo As ListItem
    
    Do While Not tony.EOF
       Set campo = ListView1.ListItems.Add(, , CStr(tony(0)))
       For i = 0 To 6
           campo.SubItems(i) = CStr(tony(i + 1))
       next
       tony.movenext
    loop
    Vi prego aiutatemi uregnte!!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    ....ma non rispondete xchè non conoscete le listview o perchè in teoria non dovrebbe dare problemi???
    Non so che fare, facendo il debug ho notato che vede i dati del db,
    ma se mi posiziono con il cursore su campo.SubItems mi dice sempre
    =<invalid property value>
    Forse sto dimenticando qualcosa??
    Devo dimensionare in maniera diversa la variabile campo ho settare qualche parametro.
    Di tentativi ne ho fatti ma non mi danno soluzioni.
    AIUTO!!!!!!!!!!!!!!!!!!!!!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    In una variabile ind ci metti il numero di Add che hai fatto in modo da referenziare campo all'ultimo elemento aggiunto.
    ind=0

    while....
    ind=ind+1
    ListView1.ListItems.Add(, , CStr(tony(0)))
    Set campo = ListView1.ListItems(ind)
    ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    va che la riga :
    codice:
    ListView1.ListItems.Add(, , CStr(tony(0)))
    non me la fa scrivere!!!!
    esce fuori "Expected: ="

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    Togli la parentesi dopo add
    ListView1.ListItems.Add , , CStr(tony(0))

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    esce lo stesso problema iniziale: invalid property value

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    Che diavolo è sta cosa?
    Dim campo As ListItem ???

    Non avevo letto la definizione di campo.

    sostituisci campo nel ciclo for con

    ListView1.ListItems(ind)

    e togli la set campo=

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    Fatto, ma va come prima....
    per riepilogo ecco com'è il codice adesso

    codice:
    Dim conn As ADODB.Connection
    Dim tony As New ADODB.Recordset
    SQL = "select * from tony"
    tony.Open SQL, conn, 3, 3
    
    Dim clmX As ColumnHeader
       Set clmX = ListView1.ColumnHeaders.Add(, , "id")  
       Set clmX = ListView1.ColumnHeaders.Add(, , "Tipologia Sede")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Città")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Indirizzo")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Linea")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Totale Annuo")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Nota")
       Set clmX = ListView1.ColumnHeaders.Add(, , "Nota2")
     
       Do While Not tony.EOF
          ind = ind + 1
          ListView1.ListItems.Add , , CStr(tony(0))
          For i = 0 To 6
             If IsNull(tony(i + 1)) = False Then
                ListView1.ListItems(ind).SubItems(i) = CStr(tony(i + 1))
             End If
          Next
          tony.movenext
       loop

  9. #9
    codice:
     ListView1.ListItems.Add , , CStr(tony(0))
          For i = 0 To 6
             If IsNull(tony(i + 1)) = False Then
                ListView1.ListItems(ind).SubItems(i) = CStr(tony(i + 1))
             End If
          Next
    sostituiscila con

    codice:
    dim mItem as listitem
    set mItem = ListView1.ListItems.Add (, , CStr(tony(0)))
          For i = 0 To 6
             If IsNull(tony(i + 1)) = False Then
                mItem.listsubitems.add ,,CStr(tony(i + 1))
             End If
          Next
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    GRANDE, finalmente funziona!!!!:mavieni: :mavieni:

    Una curiosità.....il codice con cui ho aperto la discussione è quello che ho trovato sulla guida di vb...perchè non andava???
    Grazie ancora..
    Buona notte a tutti

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.