DataTable DataRow DataColumn для столбцов - PullRequest
0 голосов
/ 19 ноября 2010

Я сбрасываю файл cvs в таблицу данных. Я могу перебрать каждую строку и каждый столбец. Я только запускаю некоторую логику для 4 столбцов из 16 столбцов. Я пытался, если не работает. Как использовать синтаксис типа «для»? Например, я хотел бы сказать для столбца сделать это. Для столбца B сделайте это. (вместо if (column.ColumnName == "ColumnA") затем что-то сделать)

Ответы [ 2 ]

1 голос
/ 19 ноября 2010

Я полагаю, что вы застряли при проверке имени столбца по некоторому строковому значению. Даже если кто-то придумывает лямбда-выражение, это все по сути одно и то же: циклы и сравнения строк.

foreach(DataRow row in table.Rows)
{
    foreach(DataColumn col in table.Columns)
    {
        switch (col.Name)
        {
            case "ColumnA":
                  // do something
                  // if(row[col.Name] = ??) { ... }
                  break;
            case "ColumnB":
                  // do something else
                  break;
        }
    }
}
0 голосов
/ 21 ноября 2010

если вы уже знаете имя столбцов, то вы всегда можете обратиться к нему по следующему синтаксису:

tableObject.Columns[columnName]

и для конкретной строки:

tableObject.Rows[rowIndex][columnName]
...