title: DataGridView - reordering columns through control trigger reorder columns in bound source
body: <p>I'm using VB.Net with VS 2012.  I have a DGV that's bound to a datatable within a dataset.  The DGV can be updated by the user, which updates the datatable bound to the DGV.  This all works fine, my problem can be described in the user flow below:</p>
  
  <ol>
  <li>User opens DGV</li>
  <li>User reorders rows by clicking the header column in the DGV
   A. Columns arrange and display appropriately</li>
  <li>User updates item at DGV row index 0 with an ID of 3
   A. The rows were resorted, but the bound datasource was not
   B. A subroutine is called to update the datatable at row index 0
   C. Row index 0 is updated in the datatable, but the ID of this no longer matches the ID of row index 0 on the DGV, because the user updated a row in the datatable, according to the newly sorted datagridviews row index.  Since the DGV's row sort did not also sort the bound datatable, the item that was updated is wrong.</li>
  </ol>
  
  <p>Is there an easy way for me to tell the DGV to also sort the bound datatable's rows according to the header columns that are clicked within the DGV?  Any sort of property or anything?  What's the best way to handle this?</p>
  
  <p>Thanks!</p>