2015-04-17 5 views
0

Мне нужно проверить, соответствует ли значение любому заголовку таблицы, а затем выбрать первое значение этого столбца. Допустим, я уже выбрал, в какой строке im, теперь мне нужно увидеть, какой столбец соответствует моему значению, а затем выбрать значение этого столбца и этой строки.Выбирайте запрос динамически из матрицы linq

A B C D E 
1 X X X X X 
2 X X X X X 
3 X X X X X 
4 X X X X X 

Я использую LINQ, но нету получил это работает правильно пока

Итак, чтобы сделать это просто, я уже получил rowvalue позволяет сказать, что 1, и если, например, мой (Value = C), то я хотите выделить именно это значение и написать строку. Кто-то может помочь мне? Заранее спасибо.

Я хотел бы заменить это ....

if (Type.Equals("A")) 
        Type = query.First().a; 
       else if (Type.Equals("B")) 
        Type = query.First().b; 
       else if (Type.Equals("C")) 
        Type = query.First().c; 
       else if (Type.Equals("D")) 
        Type = query.First().d; 

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

+0

Являются ли ряды и матрицы совков или что? –

+0

Вам нужно, чтобы динамические колонки ColumnNames или вы знали их перед началом работы? – Marco

+0

Его матрица, и я знаю, что имена столбцов перед рукой – Girre

ответ

0
var item = query.First(); 
    string key = "A"; 

    var p = item.GetType().GetProperty(key.ToLower()); 
    var type = (Type)p.GetValue(item, null); 
+0

Im не получает правильное строковое значение обратно, но я думаю, что почти так, как я должен это делать. – Girre

Смежные вопросы