Laden...

Vergleich mehrere DGV Einträge

Erstellt von Bratwurstexe vor einem Jahr Letzter Beitrag vor einem Jahr 197 Views
Bratwurstexe Themenstarter:in
24 Beiträge seit 2021
vor einem Jahr
Vergleich mehrere DGV Einträge

Hallo zusammen,

ich habe eine Funktion geschrieben, welche mehrere Einträge in meinem DataGridView vergleicht und dementsprechend in einem anderen Feld das Ergebnis ausgibt.

Die Funktion vergleicht Das heutige Datum/Zeit mit dem Versanddatum/Versandzeit.

Nur aus mir nicht ersichtlichen gründen, zeigt er die letzte Zeile nicht an und sie bleibt Frei obwohl bei dieser Zeile die selbe Funktion greifen müsste.

Könnt ihr mir hier einmal auf die Sprünge helfen? 🙂


 public void Versandzeit()
        {
            DateTime _Versandzeit;
            DateTime _Systemzeit;
            DateTime _Versanddatum;
            DateTime _Heute;
      
            for (int i = 0; i < dataGridView1.RowCount - 1; i++)
            {
              
                _Heute = Convert.ToDateTime(dataGridView1.Rows[i].Cells[6].Value); 
                _Systemzeit = Convert.ToDateTime(dataGridView1.Rows[i].Cells[5].Value);
                _Versanddatum = Convert.ToDateTime(dataGridView1.Rows[i].Cells[2].Value); 
                _Versandzeit = Convert.ToDateTime(dataGridView1.Rows[i].Cells[3].Value);

                if (_Heute == _Versanddatum && _Versandzeit > _Systemzeit) 
                {
                    dataGridView1.Rows[i].Cells[4].Value = "Versandzeit OK";
                }
                else if (_Versandzeit == _Systemzeit && _Versanddatum == _Heute) 
                {
                    dataGridView1.Rows[i].Cells[4].Value = "Versandzeit abgelaufen!";
                }
                else if (_Systemzeit > _Versandzeit && _Versanddatum < _Heute)
                {
                    dataGridView1.Rows[i].Cells[4].Value = "Versandzeit prüfen!";
                }
                else if (_Heute < _Versanddatum || _Heute.AddDays(1) == _Versanddatum)
                {
                    dataGridView1.Rows[i].Cells[4].Value = "Versandzeit OK";
                }

            }
        }




D
261 Beiträge seit 2015
vor einem Jahr

Deine Schleife wird für die letzte Zeile nicht ausgeführt. Du hast als Bedingung i < dataGridView1.RowCount - 1 angegeben.

Bratwurstexe Themenstarter:in
24 Beiträge seit 2021
vor einem Jahr

Hallo dannnoe,

Ohje.... das muss ich übersehen haben. 🙂
Hast mir sehr geholfen! Vielen Dank. Das passiert mir nicht nochmal.

F
10.010 Beiträge seit 2004
vor einem Jahr

Und wenn du die Daten nicht ins DGV gefriemelt , sondern eine Liste mit Objekten gebunden hättest, müsstest Du diese Klimmzüge gar nicht machen