C# checken ob datagridview letzte Spalte leer ist?

1 Antwort

Naja, grundsätzlich hast Du zwei Möglichkeiten:

  1. Du durchläufst die gebundene Datenquelle des Grid und schaust dort jedes Objekt an
  2. 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
}
poposalat 
Fragesteller
 01.12.2020, 12:42

Naja hat nicht ganz so funktioniert. Am besten wäre einfach wenn die letzte Spalte leer ist dann soll ne MessageBox ausgeführt werden

0
ohwehohach  01.12.2020, 12:49
@poposalat

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 ;-)

0
poposalat 
Fragesteller
 01.12.2020, 12:51
@ohwehohach

na hinter var column = row ist der fehler das eine Indizierung mit [] kann nicht auf einen Ausdruck vom Typ "DatagridviewRow" angewendet werden

0
ohwehohach  01.12.2020, 12:52
@poposalat

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.

0
poposalat 
Fragesteller
 01.12.2020, 12:59
@ohwehohach

Er springt nicht in die For Schleife rein bei datagrid.rows.count springt er direkt raus aus der schleife

0