You can get the handcursor by adding the property mouseChildren="false" along with the properties useHandCursor = "true" and buttonmode = "true"
But here the problem is you cannot see the selected row colour is getting changed when you scroll through the rows, but you can see the handCursor for all the rows.
Actually the handSymbol is also appearing for the code you used...but its not appearing fully means its only appearing when you place the mouse in between the two rows ...try to put the mouseOver the bottom of the first row and check it you can see the handSymbol appearing...
If this post answers your question or helps, please kindly mark it as such.
As you said, the hand cursor is appearing between rows but my requirement is to get the hand cursor when I mouseOver the row.
When we set the mousechildren property to true, it will set the handcursor to the overall datagird.
If you point to the empty rows or to the datagridheader, it would show the hand cursor but I need that to be dispalyed only when it hovers the rows.