2014-04-24 61 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 
     ... 
}