2016-07-30 4 views
0

Ich möchte wissen, wie viel 0 gibt es in dataGridRows.Cells[1]. Ich habe diesen Code zu dataGridView1_RowPostPaint Ereignis hinzugefügt.Count dataGridCells Wert Auftreten

private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) 
{ 
    int count=0; 

    if (dataGridView1.Rows.Count > 1) 
    foreach (DataGridViewRow row in dataGridView1.Rows) 
    { 
     count++; 
     foreach (DataGridViewCell cell in row.Cells) 
     { 
      if (Convert.ToInt32(cell) == 0) 
      { 
       label3.Text = count.ToString(); 

      } 
     } 
    } 
} 

ich auch mit diesem versucht:

private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) 
{ 
    int count=0; 

    foreach (DataGridViewRow row in dataGridView1.Rows) 
    { 
     count++; 
     foreach (DataGridViewCell cell in row.Cells) 
     { 
      if (cell.Value.ToString() == "0") 
      { 
       label3.Text = count.ToString(); 

      } 
     } 
    } 
} 

Keine wchich richtig funktioniert. Der erste zählt überhaupt nicht. Der zweite Code gibt mir einen Fehler im Zusammenhang mit An exception of type 'System.NullReferenceException' occurred in skraper.exe but was not handled in user code

Können Sie mir dabei helfen?

+0

Möchten Sie wissen, wie oft die Zahl '0' in allen Zellen angezeigt wird? – MasterXD

+0

Ich möchte wissen, wie viele Zellen nur "0" als Inhalt einer Zelle hat. – audiophonic

Antwort

1

Der Benutzer darf Zeilen selbst hinzufügen, richtig? Diese letzte Zeile ist durch Code erkennbar, aber ihre Werte sind null. Dort von NullReferenceException. Also hier ist das, was Sie tun:

int zeros = 0; 

foreach (DataGridViewRow row in dataGridView1.Rows) // For every row 
    foreach (DataGridViewCell cell in row.Cells) // For every cell in the current row 
     if (cell.Value != null) // If cell's value is not null 
      if (cell.Value.ToString() == "0") // If cell's value is "0" 
       zeros++; // Increase count 

MessageBox.Show(zeros.ToString()); // Show result 

Ich hoffe, das hilft.

+0

In der Tat funktioniert es großartig. Vielen Dank :) – audiophonic