So, is every 3 rows in the grid mapped to a single datasource record (as in our multirowrecord sample)?
If so, given a rowindex, you can get the record position using
GridBoundRecordState rs = grid.Binder.GetRecordStateAtRowIndex(rowIndex);
int recPos = rs.Position;
To get the rowindex, you can catch the CurrentCellControlDoubleClick and use code like this to find the rowindex.
int rowIndex, colIndex;
Point pt = this.grid.PointToClient(Control.MousePosition);
if(this.grid.PointToRowCol(pt, out rowIndex, out colIndex, -1))
{
//rowindex has the row
}