How to select a row in DBGrid(for row drag drop)


  I want to provide an way to drag and drop a row in the DB grid in my
component derived from DBGrid.

i have taken this approach :
1 : when user starts to Drag (DoStartDrag() ) i keep
DataSource.DataSet.RecNo to know which record he is dragging.

2: When user Drops (DragDrop() ) i need to know where he has dropped.
    I can get the Row in the view where he has dropped by using  Cell :=

But the Cell.Y that i get is the row No from the top of the current view and
not the actual row No. If only i can make this row as currently selected
row, I think my problem can be solved.

can some one pls tell me how to do this, or is there any other way to
implement the same.