2014-04-24 37 views
0

我有一个Datatable,我试图检查数据表中的某一行是否全为空或空。我有一个LINQ语句,我通过索引获取行,并且能够查看行值,但是我不知道如何检查值属于哪个列,以及值是否为空或空值。如何找到列名和列值当我在foreach,在这种情况下,有人称“行”linq获取datarow并基于列迭代每个字段

int rowIndex = 9; 
DataTable.AsEnumerable().Where((row, index) => index == rowIndex).ToList() 
.ForEach(row => { 
       //Trying to iterate thru each column in the row 
       //Check the column Name that currently on 
       //get the value 
      }); 
+0

不能确定有关你的问题,你知道专栏名称吗,你知道比较的价值吗?你如何管理比较不同类型? – Habib

+0

是的,我知道列前的所有名称我真的试图检查整个datarow是否为null或0,除了我知道的一个字段 – AC25

回答

0
var ColumnToIngorn = DataTable.Columns["XXX"].Ordinal; 
var ArrItem = DataTable.Rows[rowIndex].ItemArray.Where((item, indexColumn) => indexColumn != ColumnToIngorn); 

foreach (var item in ArrItem) 
    ... 

或数据行:

var ArrItem = DataTable.Rows[rowIndex].ItemArray.Select((item, indexColumn) => new { index = indexColumn, value = item }); 

foreach (var item in ArrItem) 
{ 
    if (item.index == 5) //Check index column 
     ... 
    if (DataTable.Columns[item.index].ColumnName == "XXX") //check name column 
     ... 
}