checkbox a zakończenie pętli

0

Problem polega na tym że pętla pobiera dane z dataGridView, i danych jest w zależności od ilości ustalonych przerw (jak widać w pętli max 32) jednak np jeżeli w danej chwili istnieją tylko 3 przerwy to po sprawdzeniu checkboxa wywala error.

  private void checkBox1_CheckedChanged_1(object sender, EventArgs e)
        {

            if (checkBox1.Checked)
            {
                checkBox1.Checked = true;

                var sum = new TimeSpan();
                for (breakIndex = 0; breakIndex < 32; breakIndex++)
                {
                    string cellValue;
                    cellValue = gridViewBreaks.GetRowCellValue(breakIndex, "Początek").ToString();

                    string cellValue2;
                    cellValue2 = gridViewBreaks.GetRowCellValue(breakIndex, "Koniec").ToString();
                    
                    TimeSpan time = TimeSpan.Parse(cellValue);
                    TimeSpan time2 = TimeSpan.Parse(cellValue2);

                    TimeSpan result = time2 - time;

                    sum += result;      
                    
                    if (timeOrderRealizacja.Time.Hour != 0 || (timeOrderRealizacja.Time.Minute / 60M) != 0)
                    {
                                               
                        timeOrderRealizacja.Time -= result;
                                            
                                               
                                       }
                    
                }
                

            }
        }
0

Co to znaczy że w danej chwili istnieją 3 przerwy? Chodzi Ci że są 3 rekordy w datagridview?

0

tak tak dokładnie.. może źle to wytłumaczyłem.. otóż te przerwy są wprowadzane z przycisku.. także w tym wypadku przerwa oznacza 1 rekord w datagridview, więc dokładnie tak jak to zauważyłeś sory za złe wytłumaczenie problemu.

0

Użyj foreacha

foreach(DataGridViewRow row in dataGridView1.Rows)
{

}

lub

for (breakIndex = 0; breakIndex < dataGridView.Rows.Count; breakIndex++)
0

ok temat do zamknięcia.

 for (breakIndex = 0; breakIndex < this.gridViewBreaks.RowCount   ; breakIndex++) 

1 użytkowników online, w tym zalogowanych: 0, gości: 1