شما به هیچ وجه نباید مقادیر فیلدهای اصلی رو تغییر بدید جهت نمایش ردیف در DataGridView میتونید از Bound خود دیتا گرید استفاده کنید
شما میتونید از رویداد RowPostPaint استفاده کنید
PrivateSub DGV_RowPostPaint(ByVal sender AsObject, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEvent Args) Handles DGV.RowPostPaint
Using b As SolidBrush = New SolidBrush(DGV.RowHeadersDefaultCellStyle.ForeColo r)
e.Graphics.DrawString("", DGV.DefaultCellStyle.Font, b, DGV.Size.Width - 40, 6)
e.Graphics.DrawString(e.RowIndex + 1, DGV.DefaultCellStyle.Font, b, e.RowBounds.Location.X + DGV.Size.Width - 40, e.RowBounds.Location.Y)
EndUsing
EndSub