Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Ordinamento colonne in ListView

    Ho trovato su un libro una Function che permette di ordinare colonne di ListView con valori numerici e date (sapete bene che la proprietà Sort delle Listview ordina solo stringhe)

    La funzione in pratica crea una nuova colonna in cui inserisci i numeri che voglio ordinare formattandoli con tanti "0" davanti in modo che possano poi essere ordinati come stringhe, ordina la listview, e poi elimina la nuova colonna, la funzione è questa:

    codice:
    Public Function ordinaLV(LV As ListView, ByVal ColumnIndex As Integer, SortOrder As Integer, Optional IsDateValue As Boolean)
        Dim li As ListItem, number As Double, newindex As Integer
        LV.Visible = False
        LV.Sorted = False
        LV.ColumnHeaders.Add , , "dummy column", 1
        newindex = LV.ColumnHeaders.Count - 1
        For Each li In LV.ListItems
            If IsDateValue Then
                number = DateValue(li.ListSubItems(ColumnIndex - 1))
            Else
                number = CDbl(li.ListSubItems(ColumnIndex - 1))
            End If
            li.ListSubItems.Add , , Format$(number, "000000000000000.000")
        Next li
        LV.SortKey = newindex
        LV.SortOrder = SortOrder
        LV.Sorted = True
        LV.ColumnHeaders.Remove newindex + 1
        For Each li In LV.ListItems
            li.ListSubItems.Remove newindex
        Next
        LV.Visible = True
        LV.SortKey = ColumnIndex - 1
    End Function
    Il problema è che NON funziona con le date, coi numeri si, ma con le date no..

    Allora ho provato a sostituire la riga:

    number = DateValue(li.ListSubItems(ColumnIndex - 1))

    con:

    number = DateDiff("d", li.ListSubItems(ColumnIndex - 1), #12/31/2999#)

    ma non va uguale.......

    Ho pensato che il problema potrebbe essere il modo di scrivere la data che nel mio DB ha il formato italiano (gg/mm/aaaa) mentre vb6 credo voglia il formato inglese (mm/gg/aaaa).. Boh?

    Suggerimenti???

    Grazie mille e scusate la lunghezza del post..
    zoodany..

    www.zoodany.it

  2. #2
    Ho risolto....
    zoodany..

    www.zoodany.it

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da zoodany
    Ho risolto....
    Puoi pubblicare la soluzione per i posteri?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.