Einführung
Beim Arbeiten mit DataGridView in C# und Windows Forms stößt man oft auf ein unerwartetes Verhalten: Die Tabelle zeigt eine leere Zeile am Ende an, auch wenn keine Daten vorhanden sind. Diese leere Zeile kann für Benutzer verwirrend wirken und das Erscheinungsbild der Anwendung beeinträchtigen.
Das Problem
Wenn Sie ein DataGridView in Ihrem Windows Forms-Projekt verwenden, sehen Sie möglicherweise eine leere Zeile am Ende der Tabelle. Diese Zeile erscheint auch dann, wenn Ihre Datenquelle leer ist oder keine Daten enthält. Dies geschieht standardmäßig, da DataGridView die Eigenschaft AllowUserToAddRows
auf true
setzt.
Lösung: AllowUserToAddRows auf false setzen
Die einfachste und effektivste Lösung ist es, die Eigenschaft AllowUserToAddRows
Ihres DataGridViews auf false
zu setzen:
Über das Designer-Tool
- Wählen Sie Ihr DataGridView im Visual Studio Designer aus
- Öffnen Sie das Properties-Fenster
- Suchen Sie nach der Eigenschaft
AllowUserToAddRows
- Setzen Sie den Wert auf
False
Programmatisch
// C# Code zum Deaktivieren der leeren Zeile
dataGridView1.AllowUserToAddRows = false;
Alternative Ansätze
Falls Sie bestimmte Datensätze hinzufügen möchten, aber die leere Zeile vermeiden wollen, können Sie auch folgende Methoden anwenden:
1. Datenquelle prüfen und filtern
// Prüfen Sie vor dem Binden, ob Daten vorhanden sind
if (dataList != null && dataList.Count > 0)
{
dataGridView1.DataSource = dataList;
}
else
{
dataGridView1.DataSource = null;
// Oder eine leere Liste mit korrekter Struktur
dataGridView1.DataSource = new List<YourDataType>();
}
2. Dynamische Anpassung bei Bedarf
private void UpdateDataGridView()
{
if (yourDataSource == null || yourDataSource.Count == 0)
{
dataGridView1.AllowUserToAddRows = false;
dataGridView1.DataSource = null;
}
else
{
dataGridView1.AllowUserToAddRows = true;
dataGridView1.DataSource = yourDataSource;
}
}
Vorteile dieser Lösung
- Einfache Umsetzung: Einzelne Eigenschaftsänderung
- Kein Code-Aufwand: Keine zusätzlichen Methoden oder Logik notwendig
- Konsistente Darstellung: Die Tabelle sieht immer gleich aus, unabhängig von den Daten
- Benutzerfreundlich: Keine verwirrende leere Zeile für den Anwender
Fazit
Das Vermeiden einer leeren Zeile in DataGridView ist ein einfaches, aber wichtiges Detail zur Verbesserung der Benutzeroberfläche. Durch das Setzen von AllowUserToAddRows = false
erreichen Sie eine saubere Darstellung Ihrer Daten und vermeiden unerwünschte Leerraum-Verhalten.
Diese kleine Einstellung kann einen großen Unterschied für die Qualität Ihrer Anwendung machen und sorgt dafür, dass Ihre Benutzer nicht durch überflüssige Elemente abgelenkt werden.