Ich mache eine Anwendung, wo der Benutzer Status für verschiedene Elemente eingeben und beenden und "bearbeiten" kann. Wenn ich den Bearbeitungszustand betrete, möchte ich bestimmte Spalten in einem DataGridView aktivieren und sie beim Beenden deaktivieren. Der folgende Code wird ausgeführt, wenn sich der boolesche Wert EditMode
ändert.DataGridView-Spalten können nicht readonly erstellt werden
'Change ReadOnly to Not EditMode
'dgv.ReadOnly = Not EditMode 'Works
dgv.Columns("colCode").ReadOnly = Not EditMode 'Does not work
dgv.Columns("colText").ReadOnly = Not EditMode 'Does not work
dgv.Columns("colTarget").ReadOnly = Not EditMode 'Does not work
dgv.Columns("colCheck").ReadOnly = Not EditMode 'Does not work
Wenn die gesamte Datagridview Readonly-Eigenschaft zu ändern, das Gitter wird editierbar/nicht bearbeitet werden, wie ich es zu erwarten wäre, aber ich mag nur 4/6 Spalten ermöglichen. Die Spaltennamen sind korrekt und die Logik ist die gleiche, aber das Aktivieren der einzelnen Spalten ändert die ReadOnly-Eigenschaft nicht und ich kann die Spalten nicht bearbeiten. Schreiten durch den Debugger, wenn Edit-Modus kann ich sehen, dgv.Columns("colCode").ReadOnly = Not EditMode
zu dgv.Columns("colCode").ReadOnly = False
bewertet, sondern Schritt Vergangenheit bleibt die Readonly-Eigenschaft wahr ...
Also die Rastereigenschaft überschreibt die einzelne Spalteneigenschaft? Gut zu wissen. – Alex