Самый простой способ синхронизировать диалоговую форму со строкой просмотра данных? - PullRequest
0 голосов
/ 06 октября 2009

У меня есть представление данных с идентификатором строки из базы данных. Я хочу открыть диалоговую форму, указывающую на ту же строку. Какой синтаксис для выполнения чего-то вроде

Detail.BindingContext = Gridform.BindingContext

Так как мой другой вопрос был близок https://stackoverflow.com/questions/1527887/how-to-point-to-use-same-datasource-and-currencymanager-from-a-second-c-form

Я обновляю это: я предпочитаю решение с менеджером валют.

1 Ответ

1 голос
/ 06 октября 2009

Я не уверен, что ты пытаешься сделать. Я полагаю, что вы хотите иметь возможность выбрать строку в 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;

Надеюсь, это поможет

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