title: Can I use `DataTable.Select(filterString)` to control the displayed rows and also use `DataGridView.Sort()` to control the order they're displayed in?
body: <p>If I write:</p>
  
  <pre><code>myDataGridView.DataSource = myDataTable.Select(fitlerString);
  myDataGridView.Sort(myDataGridView.Columns[1], ListSortDirection.Ascending)
  </code></pre>
  
  <p>I get an <code>InvalidOperationException</code> with the message</p>
  
  <pre><code>"DataGridView control must be bound to an IBindingList object to be sorted." 
  </code></pre>
  
  <p>but I can't find a way to get a Datatable (instead of a <code>DataRow[]</code>) with only the desired rows out of the <code>DataTable.Select()</code> call.</p>
  
  <p>Can I use <code>DataTable.Select(filterString)</code> to control the displayed rows in a DataGridView and also use <code>DataGridView.Sort()</code> to control the order they're displayed in? 
  If it's not going to cause problems elsewhere I'd prefer to be able to keep my DataSource as a DataTable to avoid having to change assumptions elsewhere in the codebase.</p>