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";
}
}
}
Deine Schleife wird für die letzte Zeile nicht ausgeführt. Du hast als Bedingung i < dataGridView1.RowCount - 1
angegeben.
Hallo dannnoe,
Ohje.... das muss ich übersehen haben. 🙂
Hast mir sehr geholfen! Vielen Dank. Das passiert mir nicht nochmal.
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