+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Ordinare Listview per colonna di date

  1. #1
    strategaD non  in linea Scolaretto
    Post
    325
    Like Inviati  
    0
    Like Ricevuti  
    0
    Buongiorno,
    ho una listview con 3 colonne e vorrei che la seconda fosse quella da cui prendere riferimento per un sorting, il mio problema non per ordinare in base alla seconda colonna ma secondo il tipo di contenuto date ("ddMMyyyyHHmmss")

    Ecco il codice che uso per oridinare ma non funziona:
    Dim arrayIndex As Integer = -1
    'esecuzione
     ListView1.Sorting = Nothing
                Dim order() As Integer = {1, 2}
                arrayIndex += 1
                ListView1.ListViewItemSorter = New sorter With {.columnIndex = 1, .sortOrder = DirectCast(order(arrayIndex Mod 2), SortOrder)}
                ListView1.Sort()
                ListView1.ListViewItemSorter = Nothing
    
    'classe
    Public Class sorter
            Implements IComparer
    
            Public columnIndex As Integer
            Public sortOrder As SortOrder = SortOrder.Ascending
    
            Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
                Dim xDate As Date
                Date.TryParseExact(DirectCast(x, ListViewItem).SubItems(Me.columnIndex).Text, "ddMMyyyyHHmmss", Nothing, Globalization.DateTimeStyles.None, xDate)
                Dim yDate As Date
                Date.TryParseExact(DirectCast(y, ListViewItem).SubItems(Me.columnIndex).Text, "ddMMyyyyHHmmss", Nothing, Globalization.DateTimeStyles.None, yDate)
    
                If sortOrder = Windows.Forms.SortOrder.Ascending Then
                    Return xDate.CompareTo(yDate)
                ElseIf sortOrder = Windows.Forms.SortOrder.Descending Then
                    Return yDate.CompareTo(xDate)
                End If
    
            End Function
    
        End Class
    
    Non funziona sono in disordine cosa posso fare? Dove sbaglio? O devo usare un altro metodo?

    Grazie

  2. #2
    strategaD non  in linea Scolaretto
    Post
    325
    Like Inviati  
    0
    Like Ricevuti  
    0
    Forse non l'errore qua: ddMMyyyyHHmmss? Non esiste come formato?

  3. #3
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Leggi questo

    https://social.msdn.microsoft.com/Fo...=csharpgeneral

    (da una banale ricerca).
    ℹ️ Leggi di pi su AntonioG ...

  4. #4
    patel45 non  in linea Scolaretto
    Post
    473
    Like Inviati  
    0
    Like Ricevuti  
    0
    comunque abbastanza complicata la soluzione suggerita, non sarebbe pi semplice usare una DGV ?

  5. #5
    strategaD non  in linea Scolaretto
    Post
    325
    Like Inviati  
    0
    Like Ricevuti  
    0
    Come funziona un DGV?

  6. #6
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Cerca la documentazione sull'oggetto DataGridView
    ℹ️ Leggi di pi su AntonioG ...

  7. #7
    strategaD non  in linea Scolaretto
    Post
    325
    Like Inviati  
    0
    Like Ricevuti  
    0
    Non avevo compreso la sigla scusate...

  8. #8
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    L'avevamo compreso ...
    ℹ️ Leggi di pi su AntonioG ...

  9. #9
    patel45 non  in linea Scolaretto
    Post
    473
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da patel45 Visualizza il messaggio
    comunque abbastanza complicata la soluzione suggerita, non sarebbe pi semplice usare una DGV ?
    Scusatemi, ma la mia era una domanda rivolta ad Antonio, non sono troppo sicuro che sia un suggerimento valido in generale.

  10. #10
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Vedi patel ... in genere non mi discosto troppo, se non necessario, dall'ambito della domanda. Lui vuole usare una listview e io gli do il suggerimento su come si fa con la listview.

    Probabilmente con una griglia pi comodo ma l'OP pu non avere tempo per imparare nuovi concetti, nuovi strumenti o semplicemente non avere voglia o tempo di cambiare tutto il suo progetto.

    I suggerimenti alternativi sono tuttavia benvenuti.
    ℹ️ Leggi di pi su AntonioG ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. ordinare una colonna secondo l'ordine di un'altra colonna
    Da francy2016 nel forum LibreOffice, OpenOffice e altro
    Risposte: 1
    Ultimo Post: 18-05-2016, 13:51
  2. Ordinare dati univoci da colonna
    Da pippobpmaster nel forum Microsoft Excel
    Risposte: 5
    Ultimo Post: 30-03-2015, 14:31
  3. [VB2012] Come ordinare la DataGridView1 da colonna
    Da Dasial nel forum Visual Basic .Net
    Risposte: 2
    Ultimo Post: 15-05-2013, 09:27
  4. Ordinare colonna in datagridview
    Da Marco2012 nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 26-01-2010, 17:34
  5. [Excel-Vba]Ordinare una colonna data
    Da blackjack71 nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 04-09-2009, 21:24