Вы сохраняете это в SQL Server в конце? Действительный автоматический номер будет определен только при фактическом сохранении данных в таблице.
Поэтому, пока вы редактируете в памяти, не сохраняя пока, GridView будет использовать отрицательные числа в качестве автономных чисел. Когда вы на самом деле отправляете эти строки в SQL Server и сохраняете их, они получат свои настоящие автономные номера 28, 29, 30 и т. Д., И ссылки на эти значения будут обновлены.
Попробуй! Я уверен, что после сохранения у вас появятся «правильные» авто-номера.