Как прочитать значение в первой ячейке в выбранной строке таблицы данных? - PullRequest
0 голосов
/ 30 января 2011

У меня есть сетка данных, которая содержит данные из двух разных таблиц, называемых ITEMS и ORDER_ITEMS.Формат таблицы данных выглядит следующим образом - Item ID |Название предмета |Цена за единицу |Количество |Сумма

Здесь столбцы ItemID, ItemName, Price принадлежат таблице ITEMS, а столбцы Количество и Сумма (сумма = цена * количество) принадлежат таблице ORDER_ITEMS.

ТакУ меня возникли проблемы с созданием выбранной строки в качестве нового объекта (или экземпляра) типа ITEMS для перехвата ItemID.Как я могу прочитать атрибут ItemID выбранной строки?


Обновление: Когда я попытался использовать следующий код (согласно синтаксису, заданному Джоном К.), я получил ошибку - Ошибка 1: «Microsoft.Windows.Controls.DataGrid» не содержит определения для «SelectedRows», и метод расширения «SelectedRows», принимающий первый аргумент типа «Microsoft.Windows.Controls.DataGrid», не найден (выотсутствует директива using или ссылка на сборку?)

     string id = selectedItemsGrid.SelectedRows[0].Cells[0].Text;

Я нашел информацию о проблеме.Только что нашел в библиотеке Microsoft, что он находится в пространстве имен System.Windows.Forms.dll.Но сейчас я использую Windows Presentation Foundation.Как вы думаете, это связано с проблемой, с которой я сейчас сталкиваюсь?

Ответы [ 2 ]

1 голос
/ 30 января 2011

Предполагается, что ItemId находится в первом (0) столбце таблицы данных ... Выбранные строки будут возвращать массив, поэтому, если выбрана только 1 строка, первый (0) элемент будет содержать строку ...

Попробуйте:

string  strVal =  DataGridView1.SelectedRows[0].Cells[0].Text;
0 голосов
/ 31 января 2011

Используйте свойство DataGrid.CurrentItem. Это даст вам объект, который связан с данными текущей строки. Так, например:

class DataClass {
   string ID { get; set; }
   ...
}

...

DataClass current = (DataClass)dataGrid.SelectedItem;
string id = current.ID;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...