Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: ListBox e colonne

  1. #1

    ListBox e colonne

    Ciao a tutti,
    io dovrei inserire in una list box diversi campi di un DataBase. il problema è che vorrei caricare i dati incolonnati. Sono circa 10 dati e nelle proprietà della ListBox ho creato 10 colonne. Ma come faccio a dirgli che nella colonna 1 va inserito il campoA del Db, nella colonna 2 il campoB del Db etc...

    Tutto questo con DAO!

    Grazie Sara

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    non è meglio usare le listview (componets-> Microsoft windows common Controls 6.0 ) ???

    codice:
    '   ListView1.ListItems.Clear                           
    '   ListView1.ColumnHeaders.Clear
       ListView1.ColumnHeaders.Add , , "Numero", ListView1.Width / 6
       ListView1.ColumnHeaders.Add , , "Uso", ListView1.Width / 3
       ListView1.ColumnHeaders.Add , , "Servizi linea", (ListView1.Width / 1.9) - (30 + 255)
       ListView1.BorderStyle = ccFixedSingle
       ListView1.View = lvwReport
    
    Dim con As String     'Dimensiono la variabile con per memorizzare i servizi della linea
    Dim mItem As ListItem 'Dimesiono la variabile x creare le colonne della listview
    Dim ind As Integer    'dimensiono la variabile per assegnare un index alla listview
    ind = 0               'e lo setto a zero
    Do While linea.EOF = False 'Scorro tutta la query
       ind = ind + 1  
       Set mItem = ListView1.ListItems.Add(, , CStr(linea(0))) 'setto la variabile x inserimento col e inseriscoil 1° valore
       mItem.ListSubItems.Add , , CStr(linea(1))       'inserisco la prima subcolonna
       mItem.ListSubItems.Add , , CStr(linea(2))               'inserisco anche la seconda
       ListView1.ListItems(ind).Tag = linea("idlinea") 'inserisco l'id della linea per poterla aprire
       linea.movenext
    loop

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    78
    Confermo usa un'altro componente anche perchè con il listbox non puoi proprio farlo. Quel columns che vedi non è la definizione vera e propria del componente ma solo una modalità di visualizzazione dello stesso.
    Es:
    Se io avessi il listbox con le impostazioni di default vedrei gli item uno di seguito all'altro e quando questiultimi supereranno la dimensione del list appariranno le scroll verticali.
    Se impostassi il valore columns a 2 vedrei gli item affiancati e superando la dimensione del list appariranno le scroll orizzontali.
    Spero di essere stato chiaro!
    Ciao

  4. #4

    ok!

    Allora ho provato a modificare il codice. Premetto, non ho mai usato quel componente!!

    Io leggo il DB.
    come faccio a caricare i dati?

    codice:
    Set db = OpenDatabase(App.Path & "\Abbigliamento.mdb")
    sql = "select * from Clienti"
    Set rs = db.OpenRecordset(sql)
    Do Until rs.EOF
    loop
    rs.movenext
    e poi??? cosa metto tra il do e il loop?

    Grazie Sara

  5. #5
    codice:
    ind = ind + 1  
    ListView1.ListItems.Add(ind, , campo_dbase_colonna1
    ListView1.ListItems(ind).SubItems(1) = campo1_dbase_colonna2
    ListView1.ListItems(ind).SubItems(2) = campo2_dbase_colonna3
    dovrebbe essere giusto così....
    ...e quando meno te lo aspetti potrebbe capitare qualcosa di bello, di più importante di quello che avevi programmato...

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    L'ho già scritto...usando la tua query

    codice:
    Do While rs.EOF = False 'Scorro tutta la query
       ind = ind + 1  
       Set mItem = ListView1.ListItems.Add(, , CStr(rs("campo1"))) 'setto la variabile x inserimento col e inseriscoil 1° valore
       mItem.ListSubItems.Add , , CStr(rs("campo2"))       'inserisco la prima subcolonna
       mItem.ListSubItems.Add , , CStr(rs("campo1"))               'inserisco anche la seconda
       ListView1.ListItems(ind).Tag = rs("idlinea") 'inserisco l'id della linea per poterla aprire
       rs.movenext
    loop

  7. #7

    umm

    codice:
    Set db = OpenDatabase(App.Path & "\Abbigliamento.mdb")
        sql = "select * from Clienti order by Ragso"
    Set rs = db.OpenRecordset(sql)
    
    Do While rs.EOF = False 'Scorro tutta la query
       ind = ind + 1
       Set mItem = ListView1.ListItems.Add(, , CStr(rs("Ragso")))
       mItem.ListSubItems.Add , , CStr(rs("Indirizzo"))
       mItem.ListSubItems.Add , , CStr(rs("Cap"))
       ListView1.ListItems(ind).Tag = rs("ID")
    rs.MoveNext
    Loop
    rs.Close
    ora mi visualizza solo le Ragioni sociali.
    io vorrei che mi mettesse :

    Ragso Indirizzo Cap

    cme si fa?

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    da qualche parte gli hai impostato gli headers???

    Se leggi il mio primo messaggio, c'è tutto!!

  9. #9

    ok!Funziona

    è però possibile allungare le linee dei titoli in verticale per disegnare quindi le colonne??

    Grazie Sara

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361

    Prova a fare la domanda con altre parole
    :master: :master:

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.