我有一个DataTable,其列名为“Part Number”和其他各种列。我想抓住“部件号”列中的所有元素。此列有时可能位于不同的位置,因此我不能只分配特定的Item Array索引。我想用LINQ来做。
现在,我只是抓住第一栏中的所有内容。但是,我想将其设置为根据列标题获取数据。
var parts = from row in dataTable.AsEnumerable()
where true != string.IsNullOrWhiteSpace((row.ItemArray[0] == DBNull.Value)
? string.Empty
: row.ItemArray[0].ToString())
select row.ItemArray[0];
答案 0 :(得分:1)
您可以将DataColumnCollection
索引为DataColumn
,如下所示:
// Find the DataColumn by column name
string columnName = "Part Number";
DataColumn partNumber = dataTable.Columns[columnName];
var parts = from row in dataTable.AsEnumerable()
where !string.IsNullOrWhiteSpace(row[partNumber].ToString())
select row[partNumber];
让DataTable
担心在ItemArray
内找到索引。您只需知道列名称。
有关详细信息,请参阅documentation。