haschme - Mi 10.08.16 10:57
Danke für deine Hilfe
Also mit deinem Codeauszug hätte es auch geklappt, jedoch ist mir aufgefallen, dass es manchmal recht lange dauerte
bis die Comboboxen den gewünschten Effekt erzielten.
Daher habe ich nochmal geschaut welche Alternativen es gibt.
Falls jemand Anderes mal das selbe Problem hat, so bin ich vorgegangen:
Für mein Unterfangen habe ich letzendlich die beiden Datagridview-Events:
CurrentCellDirtyStateChanged und
CellValueChanged
verwendet.
Als Grundlage dafür habe ich die Methodik auf diesem Link angewendet: (1. Antwort auf die oben genannte Frage)
http://stackoverflow.com/questions/5652957/what-event-catches-a-change-of-value-in-a-combobox-in-a-datagridviewcell
Im Nachhinein fiel mir noch auf, dass die DataGridViewComboBox-Objekte leider keine Enable Eigenschaft aufweisen..
Selbst ausgrauen funktioniert nicht richtig. Habe schonmal im worldwideweb geschaut was es so für Möglichkeiten gibt das ganze zu enablen. Allerdings muss man dafür die Objekte wohl selber im OnPaint zeichnen.. Das macht kein Spaß.
Falls zufällig jemand ne bessere alternative kennt würde ich mich sehr freuen wenn idese geteilt wird ;-)
Danke
Moderiert von
Th69: C#-Tags hinzugefügt
Ralf Jansen - Mi 10.08.16 11:12
| Zitat: |
| Selbst ausgrauen funktioniert nicht richtig. Habe schonmal im worldwideweb geschaut was es so für Möglichkeiten gibt das ganze zu enablen. Allerdings muss man dafür die Objekte wohl selber im OnPaint zeichnen. Das macht kein Spaß. |
Ausgrauen wäre auch irgendwie falsch. Ausgrauen der nicht editierbaren Elemente wäre ja definitiv zellenbezogen und nicht mehr Column bezogen. Bei deiner ursprünglichen Frage reichte es die Column zu betrachen.
Das zeichnen sollte ziemlich einfach sein. In CellPainting ermitteln ob diese Zelle enabled/disabled ist und zum zeichnen dann denn TextBoxRenderer oder ComboBoxRenderer verwenden.