Выбор VALUE из представления данных на основе COLUMN HEADER в C#

У меня есть datagridview с ОДНОЙ строкой. Строка заполняется из родительского представления данных (откуда я выбрал одну строку). Строка имеет заголовки (клонированные из родительского представления данных).

Я знаю имя заголовка столбца первичного ключа. КАК ПОЛУЧИТЬ ЗНАЧЕНИЕ В ПЕРВИЧНОМ КЛЮЧЕ?

В сети я нашел такие вещи, как

...(row.Cells["xxx"].Value, 123)

OR

 string a = Convert.ToString(selectedRow.Cells["you have to mention you cell  corresponding column name"].Value);  

OR

 string pk_col_val = Convert.ToString(grid_detail.CurrentRow.Cells[i].FormattedValue);

Но никто не показывает, как получить то, что я хочу.

Мне нужен способ получить значение по ИМЯ столбца, а не id. КАК?

Помощь ?


person Anoushka Seechurn    schedule 22.08.2013    source источник


Ответы (2)


второй вариант выглядит нормально, если вы хотите выбрать значение по имени столбца.

Или вы имеете в виду, что знаете только текст в заголовке столбца? Если это так, вы можете получить идентификатор своего столбца, например, с помощью linq:

string headerText = "find column's id with this header";
int id = this.DGV.Columns.Cast<DataGridViewColumn>()
         .Where(a => a.HeaderText.Equals(headerText))
         .FirstOrDefault().HeaderCell.ColumnIndex;
person Arie    schedule 22.08.2013

Спасибо за ваш вклад, ребята.

Я прибегнул к следующему, и это решило мою проблему. Код, который я использовал, выглядит как

   string pk_col_val = grid_detail[0, 0].Value.ToString();

Спасибо.

person Anoushka Seechurn    schedule 23.08.2013