Обновить ячейку в datagridview, когда установлен внешний ключ - PullRequest
0 голосов
/ 16 июня 2020

У меня есть следующие две таблицы:

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.

Как мне решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...