C# checken ob datagridview letzte Spalte leer ist?
Guten Tag, wie soll die Abfrage aussehen wenn ich prüfen will ob die letzte Zeile im GridView(letzte Spalte ist 16) leer ist ? Also ob alle zeilen in der Spalte leer sind
1 Antwort
Naja, grundsätzlich hast Du zwei Möglichkeiten:
- Du durchläufst die gebundene Datenquelle des Grid und schaust dort jedes Objekt an
- Du durchläufst die Zeilen des Grid und schaust in die Spalte. Da der User normalerweise die Spalten umsortieren kann, würde ich da über den Spaltennamen (= den Namen des Spaltenobjekts!) gehen.
In etwa so könnte 2. aussehen (ohne es getestet zu haben):
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
var row = dataGridView1.Rows[i];
var column = row["textColumnIrgendwas"];
// Wert der Spalte prüfen
}
Naja, was hat denn nicht funktioniert? Der Code sollte demonstrieren, wie Du über die Zeilen läufst und die Spalte zugreifst. Weder die Prüfung noch die daraus resultierende Aktion habe ich ja hingeschrieben - das überlasse ich mal Dir ;-)
na hinter var column = row ist der fehler das eine Indizierung mit [] kann nicht auf einen Ausdruck vom Typ "DatagridviewRow" angewendet werden
Dann schau in die Doku. Dann wirst Du feststellen, dass Du vermutlich doch schreiben musst ... = row.Columns["..."];
Habe das - wie ich bereits schrieb - nicht getestet, sondern aus dem Kopf hingeschrieben.
Er springt nicht in die For Schleife rein bei datagrid.rows.count springt er direkt raus aus der schleife
Naja hat nicht ganz so funktioniert. Am besten wäre einfach wenn die letzte Spalte leer ist dann soll ne MessageBox ausgeführt werden