При работе с элементом DataGridView в Windows Forms бывает необходимость прямо в самом гриде иметь возможность добавления новых записей. Данный вопрос не отличается особой хитростью, но вот не многие знают, что процесс добавления пользователем новой записи в DataGridView может предоставлять некий шаблон для заполнения ячеей информацией. Кроме того, предопределенные данные в заполняемой новой строке могут служить подсказками для напоминания пользователю какие данные требуется ввести в ячейки строки.
Для начала, создадим Windows Forms приложение и на главную форму поместим контрол DataGridView:

Далее, создадим для него таблицу и привяжем его к ней:
public MyForm()
{
InitializeComponent();
DataTable tablePeople = new DataTable();
DataColumn columnID = new DataColumn();
columnID.ColumnName = "ID";
columnID.DataType = typeof(Guid);
columnID.ReadOnly = false;
DataColumn columnName = new DataColumn();
columnName.ColumnName = "Name";
columnName.DataType = typeof(string);
columnName.ReadOnly = false;
tablePeople.Columns.Add(columnID);
tablePeople.Columns.Add(columnName);
DataRow dr = tablePeople.NewRow();
dr["ID"] = Guid.NewGuid();
dr["Name"] = "Иванов Иван Иванович";
tablePeople.Rows.Add(dr);
dgv_Peoples.DataSource = tablePeople;
}
При запуске приложения получим:

Теперь самое главное. Необходимо подписаться на событие DefaultValuesNeeded нашего DataGridView, возбуждаемое при генерировании гридом новой строки для её заполнения пользователем.
А обработчик данного события будет следующим:
private void dgv_Peoples_DefaultValuesNeeded(object sender,
System.Windows.Forms.DataGridViewRowEventArgs e)
{
e.Row.Cells["ID"].Value = Guid.NewGuid();
e.Row.Cells["Name"].Value = "Новое имя";
}

Таким образом, при инициализации в DataGridView новой строки, изначально все ячейки новой записи будут установлены в начальные значения, что, конечно, не помешает последующему их редактированию.
Динамический предварительный ввод начальных (возможных) значение в ячейки новой строки DataGridView чаще всего применяется для реализации такого рода подсказок относительно типа и значений содержимого ячеек.
нумерация строк DataGridView