У меня есть следующие две таблицы:
Table1 Id Name
Table2 Id Table1Id
Таблицы загружаются в DataSet и отношения между Table1.Id и Table2 .Table1Id создан.
Перед добавлением Table2 в DataGridView я добавляю значение Table1.Name в DataTable в моем DataSet.
result.Tables["PortToPortRates"].Columns.Add("Table1Name", typeof(string), "Parent(Table1).Name");
затем я добавляю Table2 в BindingSource и добавляю BindingSource для DataGridView в качестве источника. Но когда я изменяю значение Table2.TableId, соответствующий столбец, показывающий Table1.Name, не обновляется, пока я не изменю строку в сетке. Я временно решил это, вызвав метод bindingSource.EndEdit ().
Но в моем реальном приложении DataGridView имеет 2 столбца с внешним ключом и связанным именем / описанием. внешний ключ является обязательным / не нулевым. Если создать новую строку в сетке и заполнить первую первую ячейку допустимым внешним ключом, я получаю сообщение об ошибке, потому что за методом EndEdit () следует обновление таблицы, поскольку запускается событие Row Added.
Как мне решить эту проблему.