title: Tracking row changes in the GridControl in DevExpress C#
body: <p>I have an issue that I have been banging my head against for too long now, and I can't seem to come across a solution.</p>
  
  <p>We are using DevExpress, and we have a message based architecture that dispatches messages letting other components of the system know of specific changes.</p>
  
  <p>Much of our application revolves around changes made to grid controls that are bound to DataTable objects.</p>
  
  <p>One of the more important messages that we need to dispatch is when a row changes on our grid control. So if any value on the row changes, we want to dispatch a message with the old row values, and the new row values so we have a record of old and new. We want this to happen when the row loses focus rather than just after any value is changed immediately. This is so somebody can change the whole row before it sends a message.</p>
  
  <p>The current solution I am using does not work, and is not even worth explaining.</p>
  
  <p>Essentially, I need to obtain a Key/Value list of row value and column names for both the old row, and new row.</p>
  
  <p>I am not sure how to do this in DevExpress.</p>