Hi Venkat,
I would introduce an attribute for the sorting. And let the DataGrid be sorted by a DS microflow (other means of sorting did not work for me when I tried).
When set-up correctly, the Drag&Drop widget associated to the dragged and the dropped position. You have to use the information to update the sorting attributes in the affected interval (I assume you do not want the dragged/dropped to just switch places, so you have to do the updating). When done, refresh the content.
However, you might run into an issue when trying to sort an entry above the first grid entry, because there will be no drop target. It is a bit fiddly :(