Hallo,
ich habe ein DataGridView welches eine DataGridViewCheckBoxColumn Spalte anzeigt und darin soll es möglich sein das Häkchen zu setzen oder nicht und daraufhin wird etwas angezeigt oder nicht. Normalerweise steuere ich die Häkchen über die DB und speichere meine Nutzereingaben aber nun soll das einfach auf der Oberfläche passieren.
Momentan setze ich im CellContentClick des DataGridView CommitEdit und versuche dann im CellValueChanged das Häkchen per:
if (e.ColumnIndex == this.colHaekchen.Index && e.RowIndex != -1)
{
// Handle checkbox state change here
if (this.colHaekchen.Selected)
txt.Visible = true;
else
txt.Visible = false;
}
zu setzen. Raus klicken funktioniert, aber beim wieder setzen des Häkchens wird nicht reagiert und txt nicht wieder angezeigt. Komme da leider nicht weiter.
:::
Von welchem Typ ist denn colHaekchen
(DataGridViewCheckBoxColumn
oder DataGridViewCheckBoxCell
)? Richtig wäre letzteres (Cell) und dann dessen Value
-Eigenschaft (Selected
gibt nur an, ob diese Zelle markiert ist).
Wenn du aber DataBinding benutzt (ansonsten wäre dies mein Rat), dann solltest du den Wert (für das Häkchen) im Modell setzen.
Danke, die Idee war richtig. Nicht Selected zu prüfen, sondern auf die Zelle zu gehen
dgrv.Rows[e.RowIndex].Cells[1].Value
Funktioniert.
:::