Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    158

    [Vb6]ListView:Ordinare per numero

    Salve ecco il problema.
    in una listview inserisco tre colonne di dati:
    riporto esempio
    N°Ordine Data Ordine Fornitore
    1
    2
    .
    .
    110
    ..
    quando vado ad ordinare la prima colonna mi succede questo:
    N°Ordine Data Ordine Fornitore
    1
    110
    .
    .
    praticamente invece di vedere 1 2 . . 110 vedo 1 110. 2
    come posso risolvere per fare in modo di vedere da 110 a 1
    per ordinare uso questo
    Private Sub ListOrdini_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    Dim i As Long
    Static sOrder
    sOrder = Not sOrder

    'Usa l'ordinamento standard per ordinare gli items
    ListOrdini.SortKey = ColumnHeader.Index - 1
    ListOrdini.SortOrder = Abs(sOrder)
    ListOrdini.Sorted = True
    End Sub

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prima di affrontare il problema, dato che non e' semplice, se i dati ti arrivano da un db, potresti farli ordinare dal db stesso prima di inserirli ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    158
    grazie per l'attenzione.
    Allora i dati sono già ordinati dal db;infatti nella prima esecuzione, tutto Ok.
    il problema nasce quando vado ad ordinare che mi crea il problema già descritto. Ma il fatto più importante, è quello che una volta "disordinati" non tornano più come prima.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No ... scusa ... che vuoi dire?

    1) I dati sono ordinati

    2) il problema nasce quando vai ad ordinare

    3) una volta disordinati non tornano come prima

    Non e' che abbia capito molto ...

  5. #5
    Nelle listview i dati vengono ordinati in alfabeticamente, non numericamente.

    Per cui una sequenza 1 2 10 20 , nel caso la proprietà Sorted della Listiew sia impostata a True, restituisce la sequenza 1 10 2 20.

    Ergo, basta creare l'ordinamento in fase di selezione dati dal Db, come suggerito dal buon Oregon, e lasciare la proprietà Sorted della ListView impostata a False.

    Ciauz

    Chico

  6. #6
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,582
    forse ha messo una sub di ordinamento nell'evento click della colonna :master:
    in questo caso dovresti fare un ciclo "a mano"
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

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.