2014-08-24 3 views
-2

У меня проблема с представлением datagrid. Я хочу сопоставить все строки представления datagrid один за другим с определенным значением. Мой код приведен ниже, но это не работает:datagridview специальная проверка состояния

for(int i = 0; i < dataGridVie.RowCount;i++){ 
    if(dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "F7" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 
} 
for(int i = 0; i < dataGridVie.RowCount;i++){ 
    if(dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "F3" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 
} 
for(int i = 0; i < dataGridVie.RowCount;i++) 
{ 
    if( dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "T3" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 
} 
for(int i = 0; i < dataGridVie.RowCount;i++) 
{ 
    if(dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "C3" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 
} 
for(int i = 0; i < dataGridVie.RowCount;i++){ 
    if(dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "T5" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 
}*/ 
/*for(int i = 0; i < dataGridVies.RowCount;i++) 
{ 
    if( dataGridVies.Rows[i].Cells[0].Value.ToString().Trim() == "O2" && dataGridVies.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 
} 
/*for(int i = 0; i < dataGridVie.RowCount;i++){ 
    if(dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "P2" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 
}*/ 
if(count==4) 
{ 
    MessageBox.Show(""); 
} 
+0

не ясно, что вы пытаетесь достичь. дать дополнительную информацию или предоставить пример – Vland

ответ

-1
for(int i = 0; i < dataGridVie.RowCount;i++){ 
    if(dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "F7" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 

    if(dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "F3" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 

    if( dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "T3" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 

    if(dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "C3" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 

    if(dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "T5" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 
}*/ 
/*for(int i = 0; i < dataGridVies.RowCount;i++) 
{ 
    if( dataGridVies.Rows[i].Cells[0].Value.ToString().Trim() == "O2" && dataGridVies.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 
} 
/*for(int i = 0; i < dataGridVie.RowCount;i++){ 
    if(dataGridVie.Rows[i].Cells[0].Value.ToString().Trim() == "P2" && dataGridVie.Rows[i].Cells[1].Value.ToString() == "slow wave") 
     count++; 
}*/ 
if(count==4) 
{ 
    MessageBox.Show(""); 
} 
+0

, что это за ответ? использование одного цикла, безусловно, более эффективно, но оно не изменяет результат. плюс, вы ничего не объясняете – Vland

+0

, вы сказали: «Я хочу сопоставить все строки в представлении datagrid один за другим», в чем проблема в этом пересмотренном коде. –

+0

ваш код эквивалентен его коду, так как count ++ объявляется вне цикла в обоих случаях. поэтому вы не решаете никаких проблем (проблема пока неясно). – Vland

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