Non è un bug...ma ignoranza mia...il datagridview considera i dati come testo e non come valore.
Ho googlato un pò e per risolvere non ho trovato altra soluzione che quella di usare un dataset e specificare il tipo di dati della colonna, esempio:
Con il dataset puoi anche salvare i dati e caricarli.codice:Imports System.ComponentModel Public Class Form1 Dim ds As New Data.DataSet Private Sub Form1_Load() Handles MyBase.Load ds.DataSetName = "prova" ds.Tables.Add("colonne") ds.Tables("colonne").Columns.Add("numero") ds.Tables("colonne").Columns("numero").DataType = System.Type.GetType("System.Decimal") ds.Tables("colonne").Columns.Add("testo") DataGridView1.DataSource = ds.Tables(0) End Sub Private Sub Button1_Click() Handles Button1.Click DataGridView1.Sort(DataGridView1.Columns("numero"), ListSortDirection.Descending) End Sub Private Sub Button2_Click() Handles Button2.Click DataGridView1.Sort(DataGridView1.Columns("numero"), ListSortDirection.Ascending) End Sub End Class
![]()

Rispondi quotando