Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2017
    Messaggi
    5

    datagridview problemi di ordinamento valori negativi

    Buon giorno a tutti. Mi rendo conto che l'argomento è trattato in lungo ed in largo ma per quanto siano giorni che dedico ore a leggere ogni discussione in merito... non ne vengo a capo. Forse è una sciocchezza, ma non ci arrivo!
    Allora... VS 2017, form per windows.
    Ho una DGV formata da 2 colonne, creata nel seguente modo nel formload:
    DGV1.ColumnCount = 2
    DGV1.RowHeadersVisible = False
    DGV1.Columns(0).Name = "Indice"
    DGV1.Columns(1).Name = "Valore"
    DGV1.Columns(1).SortMode = DataGridViewColumnSortMode.Automatic
    DGV1.Columns(1).ValueType = Type.GetType("System.decimal")


    La colonna "Indice" è una stinga, "Valore" è un double.
    L'inserimento delle righe avviene così
    DGV1.Rows.Add(New String() {riga, quotazione})
    dove riga è dichiarato string, quotazione è un double

    Quando esegue l'ordinamento
    DGV1.Sort(DGV1.Columns(1), direzione.Descending)
    "Direzione" è tipo "Listsortdirection" mi ritrovo che i valori negativi sono comunque in mezzo ai positivi.
    Del tipo:
    3,-2,1,0.5
    anzichè
    3,1,0,5,-2

    Non riesco in nessun modo a fargli cabiare idea.
    Cosa sbaglio?

    Grazie mille a chi mi aiuterà.

  2. #2
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    con New String() trasformi tutto in un array di stringhe, non capisco bene se riga e quotazione sono array o no.
    un codice di questo tipo funziona
    codice:
    Dim riga As String() = {"aa", "bb", "cc", "dd"}
            Dim quotazione() As Double = {1.57, -0.5, 2.1, 4}
            DGV1.ColumnCount = 2
            DGV1.RowHeadersVisible = False
            DGV1.Columns(0).Name = "Indice"
            DGV1.Columns(1).Name = "Valore"
            DGV1.Columns(1).SortMode = DataGridViewColumnSortMode.Automatic
            DGV1.Columns(1).ValueType = Type.GetType("System.decimal")
            For i As Byte = 0 To 3
                DGV1.Rows.Add(riga(i), quotazione(i))
            Next
    Ultima modifica di patel; 21-03-2017 a 13:46

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2017
    Messaggi
    5
    Ecco... vedi che era una cavolata! Grazie mille! Che tonto... ehehhe
    Il fatto è che tutti gli esempi sulle DGV sono assurdamente complicati e mi sono incasinato per niente!
    Grazie ancora

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.