Проблема со значением по умолчанию в столбце dataGridview при добавлении новой строки - PullRequest
0 голосов
/ 21 сентября 2011

У меня есть форма ( form1 ) с dataGridView, перечисляющая заказы клиентов из таблицы с именем " Orders ". Когда в dataGridView выбран заказ и нажата клавиша EnterKey, появляется другая форма ( form2 ). Эта всплывающая форма2 имеет другой dataGridView, который поддерживает добавление строк, в которых пользователь вводит новую запись, связанную с выбранным заказом, в таблицу с именем " OrderDetails ", в которой есть столбец с ключом foreigh, называемый OrderNumber, который ссылается на столбец OrderNumber в стол "Заказы".

Проблема:

когда пользователь вводит новую запись из dataGridView в form2 в таблицу orderDetails, я хочу, чтобы столбец OrderNumber заполнялся автоматически. Его значение должно быть значением порядкового номера выбранной записи в form1, чтобы пользователю не приходилось вводить ее вручную, поскольку она уже известна. Помощь.

Представление данных связано с источником ставок.

Ответы [ 2 ]

3 голосов
/ 21 сентября 2011

просто получилось так, как я хотел с

private void dataGridView1_DefaultValuesNeeded(object sender,
    System.Windows.Forms.DataGridViewRowEventArgs e)
{

  e.Row.Cells["CustomerNumber"].Value = myOrderNumberValue;

}
2 голосов
/ 21 сентября 2011

В BindingSource есть событие, которое вы можете перехватить и которое называется AddingNew. Здесь вы можете указать, каким будет новый объект и его свойства. Как это:

private void BindingSource_AddingNew(object sender, System.ComponentModel.AddingNewEventArgs e)
{
    OrderDetailLIne odl = new OrderDetailLIne();
    odl.OrderNumber = _orderNumber;
    e.NewObject = odl;
}
...