I am not sure exactly what you need, but here is another snippet that shows how to get at the underlying record from the datasource under an arbitrary point.
Point pt = this.gridGroupingControl1.TableControl.PointToClient(Control.MousePosition);
Element el = this.gridGroupingControl1.TableControl.PointToNestedDisplayElement(pt);
if(el is GridRecordRow)
{
GridRecord rec = el.ParentRecord as GridRecord;
if(rec != null)
{
DataRowView drv = rec.GetData() as DataRowView;
Console.WriteLine("{0} {1} {2}", drv[0], drv[1], drv[2]);
}
}