2013-11-28 3 views
1

Функция возвращает DataRow, и я хочу получить имя заголовка столбцов? Как это получить? Я программирую на C#.Как использовать DataRow для получения имени колонок?

Это код:

 DataRow[] teDR=null; 
     DataRow[] DR = BizManyRecQuery.LoadForm.ManyRecQuery("f225839e-313a-488f-be47-55340ea46e34","prjProcessId",teDR); 
     if(DR!=null) 
     { 
        //get the columns header name 
     } 

ответ

1

должно работать заголовок

foreach (DataColumn c in DR[0].Table.Columns) 
{ 
    MessageBox.Show(c.ColumnName); 
} 
+1

King King заметил что-то .. вы действительно хотите: 'DR [0] .Table.Columns' –

+0

Спасибо за исправление. Теперь изменили его. благодаря King King & Grant – user3005791

1

Класс DataRow имеет ссылку на таблицу, в которой она принадлежит:

DR[0].Table.Columns[# or name] 
2

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

if(DR!=null&&DR.Any()) { 
    var headerNames = DR[0].Table.Columns.Cast<DataColumn>() 
          .Select(col=>col.ColumnName).ToList(); 
    //remove ToList() if you want. 
} 
+0

'DR [0]' дает вам первый столбец в 'DataRow'. Вам не нужно '[0]'. –

+0

@GrantWinney, пожалуйста, внимательно ознакомьтесь с вопросом, 'DR' является массивом' DataRow' –

+0

О, ничего себе, вы абсолютно правы. К сожалению. –

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