C #: получение значений из DataGridView - PullRequest
1 голос
/ 25 февраля 2011

У меня есть форма, которая содержит представление данных. В основном эта форма используется для запроса клиентов из базы данных. После того, как пользователь выполняет поиск, результаты отображаются в DGV. Я хочу, чтобы пользователь мог щелкнуть по желаемому клиенту и иметь возможность просматривать его информацию в другой форме. Когда новые клиенты добавляются в БД, ей будет присвоен уникальный идентификатор, поэтому я буду использовать его при открытии формы с информацией. Но как мне получить этот идентификатор из DGV, нажав на строку?

Заранее спасибо.

Ответы [ 5 ]

0 голосов
/ 25 февраля 2011

Во-первых, вы должны убедиться, что DGV содержит столбец ID (вы можете скрыть его, установив для свойства Visible значение false)
Затем вам нужно обработать событие DGV.CellClick:
(извините за VB, скопируйте вставить из фактического кода)

If e.RowIndex < 0 Then Exit Sub<br> Dim id as integer = dgv.Item(0, e.RowIndex).Value
где 0 - это индекс столбца, содержащего ваш идентификатор клиента.

0 голосов
/ 25 февраля 2011

Сконфигурируйте сетку, установив для свойства SelectionMode значение FullRowSelect.

Я полагаю, что вы загружаете данные в таблицу данных, используя что-то вроде

GrdClients.DataSource = ListsOfClients

Итак, вам нужно обработатьCellMouseDoubleClick событие сетки.Как вы ранее настраивали свойство SelectionMode для FullRowSelect, теперь вы можете извлечь выбранного клиента

Client ClientElement = GrdRequests.SelectedRows[0].DataBoundItem
ShowClientForm(ClientElement.Id)
0 голосов
/ 25 февраля 2011

Используя CType, вы получаете значение Первичного ключа строки из DataGridView.Ниже приведен один пример:

Name = CType(dgview.FindControl("lblname"),Label).Text

После получения значения, как указано выше, вы пишете запрос для поиска по этому ключу.После получения значения идентификатора из базы данных, снова свяжите DataGridView, чтобы показать результат поиска.

0 голосов
/ 25 февраля 2011

Используйте эту ссылку. Это поможет вам ...

http://www.dotnetperls.com/datagridview-tips

0 голосов
/ 25 февраля 2011

Установите уникальный идентификатор как помеченный объект в вашей коллекции элементов.

Попробуйте:

DataGridView.Items[n].Tag = (object)YOUR_UNIQUE_ID

(конечно, та же команда, если вы хотите свой идентификатор)

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