2016-08-29 59 views
-2

如何檢查每行的grid-view列是否具有相同的值。檢查每行的gridview列是否具有相同的值

將在下面的代碼中應用的條件是什麼。

代碼

int y = 0; 
foreach (GridViewRow row in gridreq.Rows) 
{ 
    string catid = row.Cells[2].Text; 
    if (//condition) 
    { 
     y = y + 1; 

    } 
} 

if (y == 0) 
{ 

//code 

} 
else 
{ 
//code 
} 

回答

2
foreach

除了一些foreach,有檢查行的價值對所有其他行的值沒有可行的辦法。一些解決方法:

也許你可以檢查第一個值?

int y = 0; 
var checkItem = gridreq.Rows[0].Cells[2].Text; 
foreach (GridViewRow row in gridreq.Rows) 
{ 
    string catid = row.Cells[2].Text; 
    if (catid == checkItem) //or use String.compare here 
    { 
     y = y + 1; 

    } 
} 

另一種方式是前要檢查該行的價值。

int y = 0; 
string catidCheck = ""; 
foreach (GridViewRow row in gridreq.Rows) 
{ 
    string catid = row.Cells[2].Text; 
    if (catid == catidCheck) //or use String.compare here 
    { 
     y = y + 1; 
    } 
    catidCheck = catid; 
} 
1

應該可以用Linq distinct做到這一點:

int y = gridreq.Rows.Select((row) => row.Cells[2].Text).Distinct().Count() 

那麼我想你的病情後會if (y == 1)

相關問題