Я не уверен, что ты пытаешься сделать. Я полагаю, что вы хотите иметь возможность выбрать строку в DataGridView, сделать что-нибудь, чтобы открыть диалог с другим DGV, имеющим такую же запись, и выбрать эту запись в диалоговом окне.
Если это то, что вы хотите сделать, то вам нужно сделать две вещи: получить идентификатор выбранной строки в DGV главной формы, а затем программно выбрать строку в другом DGV. Вот как вы можете это сделать:
Шаг 1. Получить идентификатор выбранной строки в главной форме.
Примерно так должно работать:
string id = dataGridView.SelectedRows[0].Cells[colIdColumn.Index].Value.ToString();
где:
а. Столбец с указанным вами идентификатором называется colIdColumn
б. Тип данных id
является строкой
После того как вы подтвердили идентификатор, откройте диалоговое окно и передайте ему идентификатор. Когда откроется диалоговое окно, перейдите к шагу 2.
Шаг 2. Программно выберите строку в другом DataGridView
Посмотрите на метод BindingSource.Find , чтобы получить индекс, по которому значение появляется в BindingSource, и посмотрите на свойство BindingSource.Position , чтобы выбрать запись в BindingSource.
Ваш код может выглядеть примерно так:
// Get index of row with your id.
int index = yourBindingSource.Find("YourIdProperty", "Id");
yourBindingSource.Position = index;
Надеюсь, это поможет