Rajan,
You will need to use a microflow for this, no the out of the box Create functionality.
Create a microflow that accepts a parameter of the object type in your Grid. When the microflow executes, create a new object and set an attribute of that object to an appropriate value so that the new object appears in the grid after the selected row.
You may need to change the attribute for objects after the selected row in order for the rows to appear in the order you want them to.
Hope that helps,
Mike
Is your datagrid sorted? If so by what attribute? Also how many rows do you have? I would suggest adding an attribute OrderIndex, then run a microflow to patch all your rows so they are ordered properly. Use an index of multiples of 10 (10, 20, 30, ...) instead of 1 (1, 2, 3...). That way when you create a new row you can just set that attribute to be 1 after the previous OrderIndex. You'll need a microflow or nanoflow for that though.
For example:
At some point you may want to normalize it or do that on a scheduled task so that it goes through your entire data set and resets the current order to indexes of 10 again so that sample new task would now have an index of 40 and everything after would go 50, 60, 70, etc. You wouldn't want to do that on the initial new index creation though because that could be potentially really slow if you have a lot of rows. Better to do as a batch in the background at the end of the day or something like that.
Hope that helps!