Доступ к свойству в Datagrid в C # - PullRequest
1 голос
/ 14 февраля 2010

Я загружаю вывод запроса базы данных в DataGrid.

myAdapter.Fill(ds,"AllInfo");
dataGridSearchOutput.DataSource = ds.Tables["AllInfo"].DefaultView;

Он заполнит элемент управления сеткой данных несколькими записями. Предположим, что первичным ключом записи данных является «ID».

Теперь я хочу создать отчет. Для этого мне нужно выбрать элемент и нажать кнопку «Создать отчет» или дважды щелкнуть запись. Затем следует создать отчет для этого идентификатора.

Мой вопрос: как мне получить идентификатор записи? Другими словами, мне нужно прочитать выбранное значение в сетке данных.

Ответы [ 3 ]

0 голосов
/ 15 февраля 2010

Будет ли это работать? Поместите его в обработчик событий для щелчка или двойного щелчка ...

DataView dv = (DataView)dataGridSearchOutput.DataSource;
DataRow selectedRow = dv.ToTable().Rows[dataGridSearchOutput.CurrentRowIndex];
long id = (long)selectedRow["ID"];
0 голосов
/ 15 февраля 2010

Я думаю, что самый простой и удобный способ ставок - установить для свойства GridView DataKeyNames значение ID, а затем вы можете легко получить идентификатор, используя

int index = dataGridSearchOutput.SelectedIndex;
dataGridSearchOutput.DataKeys[index].Value.ToString()

или вы можете преобразовать его, если он является объектом.

0 голосов
/ 14 февраля 2010

Вы можете попробовать использовать

dataGridView1.CurrentRow.Cells["ID"].Value

Посмотрите на

EDIT:

Может быть, тогда рассмотрим использование DataGrid.CurrentRowIndex Property

...