title: List (Of T) as DataGridView.DataSource makes sorting fail
body: <p>I have read some threads about this "error" but I can't figure out how to solve my problem. </p>
  
  <p>I have a class that looks something like this:</p>
  
  <pre><code>Public Class Person
      Public Property Name As String
      Public Property PhoneNumber As string
      Public Property Age As Integer
  
      Public sub New(ByVal Values As String())
          Me.Name = Values(0)
          Me.PhoneNumber = Values(1)
          Me.Age = Convert.ToInt32(Values(2))
      End Sub
  End Class
  </code></pre>
  
  <p>I get my data from a semicolon separated file, and i create a list of Person objects by looping this file and split on semicolon. Like this</p>
  
  <pre><code>Dim PersonsList As New List(Of Person)
  For Each line in textfile..........
      PersonsList.Add(New Person(line.Split(";")))
  Next
  </code></pre>
  
  <p>When the list is complete, I tell my DataGridView that <code>DataSource</code> is <code>PersonsList</code>.</p>
  
  <p>This works like a charm, but I'm not able to sort the columns.
  I found <a href="https://stackoverflow.com/questions/1805626/how-to-fill-a-datatable-with-a-listof-t-or-convert-a-listof-t-to-a-datatable">this post</a> amongst many (where the class values are not properties, which mine are) and tried that converting function which did'nt really work in my case. The right amount of rows were created, but all of the columns were blank. </p>
  
  <p>What am I missing?</p>