Change this code:
var headerBounds = new Rectangle(e.RowBounds.Left, e.RowBounds.Top, grid.RowHeadersWidth, e.RowBounds.Height);
To:
var headerBounds = new Rectangle(e.RowBounds.Right-50, e.RowBounds.Top, grid.RowHeadersWidth, e.RowBounds.Height);
I tried setting it to Right but didn't show up. You should try and adjust the number "50" according to your datagridview size