Ciao,
con il tuo codice aggiungi si le righe, ma gli dici che i valori sono tutti stringa, infatti gli passi un array di stringhe, senza definire il tipo di colonna.
Ti conviene definire il tipo delle colonne, e poi riempire le righe con un codice di questo tipo:
Dim t As DataTable = New DataTable
t.Columns.Add("id", GetType(System.Int32))
t.Columns.Add("testo", GetType(System.String))
Dim i As Integer = 0
Do While (i < 100)
t.Rows.Add(i, "desc " & i) '-- esempio
i = (i + 1)
Loop
dataGridView1.DataSource = t
Così facendo la griglia sa che si tratta di un int il campo "id" e quindi lo ordina correttamente.
Ciao.
Matteo Raumer
[MCAD, MVP Visual C#]
http://blogs.dotnethell.it/freeteo