2016-12-06 4 views
-4

enter image description hereVergleichen Sie mehrere Werte von Datagridview

Auf Schaltfläche klicken Ereignis, das ich durch die Reihen zu Schleife wollen basierend auf Kategorie. Und wenn die Datagridview Kategorie mit Frame, Lens und Consultation gleichzeitig enthält. Dann möchte ich eine Warnung anzeigen. Wie erreiche ich das? Ich habe foreach versucht aber kein Ergebnis.

foreach (DataGridViewRow row in dataGridViewInvoice.Rows) 
      { 
       string ItemType = row.Cells["SubCategory"].Value.ToString(); 
       if(ItemType == "Frame" && ItemType == "Lens" && ItemType == "Consultation") 
       { 
        MessageBox.Show("You can't select all items at once"); 
       } 
      } 
+2

Mögliche Duplikat [jede Zeile in Datagridview Looping] (http://stackoverflow.com/questions/19737436/looping-each-row-in-datagridview) – Badiparmagi

+0

' ItemType' kann nicht 3 Werte gleichzeitig haben. Ändern Sie den Operator ** && ** in || – Badiparmagi

Antwort

1

Loop alle Datensätze und halten Sie die Flagge der Elemente, die in der angegebenen Liste. Schließlich zeigen die Nachricht, wenn alle Flags wahr

bool frame,lens,type; 

foreach (DataGridViewRow row in dataGridViewInvoice.Rows) 
{ 
    string ItemType = row.Cells["SubCategory"].Value.ToString(); 
    if(ItemType == "Frame"){frame =true;} 
    else if (ItemType == "Lens"){lens =true;} 
    else if (ItemType == "Consultation"){type =true;} 
} 
if (frame && lens && type) 
{ 
     MessageBox.Show("You can't select all items at once"); 
} 
Verwandte Themen