2017-07-24 70 views
0

如果行單元格具有此值(D),並且沒有行具有像這樣的單元格值,則需要搜索datagridview。這是我的代碼,但它的錯誤如何檢查datagridview是否返回具有特定值的0行

ID Qty Price D 
================== 
1 5 2.00 D 
2 4 3.00 
3 2 10.00 D 

這就是我的代碼datagridview的示例。

private void noD() 
    { 
     foreach (DataGridViewRow row in dgvPOScart.Rows) 
     { 
      if (Convert.ToChar(row.Cells[3].Value) != 'D') 
      { 
       // If no rows withcell[3] having a value of D 
        // (For example only item is with ID 2) 
       //Do this 

      } 

     } 

    } 
+0

您的索引稱其爲6?例如reeplace row.Cells [3]。值 – CMedina

+0

是的,我的實際索引是6位右邊我將它更改爲3,例如ty – FutureDev

+1

只需使用布爾標誌變量,如果您發現你的專欄中有一個「D」。 *在循環*之後,如果該標記爲假,則沒有折扣。如果這是真的,那麼你確實有打折項目。 – LarsTech

回答

0

使用此代碼管理解決此問題。根據先生LarsTech和先生CMedina的技巧。

private bool withD() 
    { 
     foreach (DataGridViewRow row in dgvPOScart.Rows) 
     { 
      if (row.Cells[3].Value.ToString().Equals("D")) 
      { 
       return true; 
      } 

     } 
     return false; 

    } 

if(withD()) 
     { 
      //code if a row with a cell value of "D" is found 
     } 
     else 
     { 
      //code if no cell with a value of "D" is found 
     } 
1

試試這個代碼,它對我有用!

int allDValuecount = 0; 
int allOtherValueCount = 0; 
int rowsCount = DataGridViewRow.Rows.Cont; 
foreach(DataGridViewRow row in DataGridViewRow.Rows) 
{ 
    if(!row.Cells[3].Value.ToString().Equals("D")) 
    { 
     allOtherValueCount++; 
    }else 
    { 
     allDValuecount++; 
    } 
} 

if(allDValuecount == rowsCount){//code for all D values} 
if(allOtherValueCount == rowsCount){//code for other values} 
+0

感謝先生幾乎正確,但仍然存在問題。如果代碼發現1行值不爲「D」,則此代碼激活。我需要的是,它只會在所有行不是=「D」或者所有具有單元格[3]值的行都是=「」時激活。 – FutureDev

+1

@FutureDev檢查我的編輯 – CMedina

+0

仍然不工作先生。我試着將3個變量轉換爲標籤和變量「allDvaluecount」總是爲零,「allothervaluecount」總是= rowcount。 – FutureDev

相關問題