Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
DataGridView - ReadOnly = false für Zelle nicht setzbar
telfa
myCSharp.de - Member



Dabei seit:
Beiträge: 162
Herkunft: Rheinbach

Themenstarter:

DataGridView - ReadOnly = false für Zelle nicht setzbar

beantworten | zitieren | melden

Hallo zusammen,

welchen Grund kann es gaben dass in einem DataGridView das ReadOnly nicht für einzelne Zellen, sondern nur für das DGV auf false gesetzt werden kann?
Gibt es eine übergeordnete Eigenschaft die hier zu beachten wäre?

Vielen Dank und viele Grüße,
telfa
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo

ich verstehe deine Frage nicht genau oder sie geht von falschen Annahmen aus.

Es gibt DataGridViewCell.ReadOnly, womit man einzelne Zellen schützen kann.

Außerdem steht in Wie lege ich in einem DataGridView bestimmte Zellen als schreibgeschützt fest?:
Zitat von Link
Somit kann der Schreibschutz für das gesamte Steuerelement, für bestimmte Spalten und Zeilen sowie für einzelne Zellen festgelegt werden.

Oder meinst du, das ganze DGV readonly setzen und dann eine einzelne Zelle davon ausnehmen? Kann sein, dass das so nicht geht. Es kommt darauf an, wie der Schreibschutz der einzelnen Ebenen (Grid, Zeile, Spalte, Zelle) verknüpft wird. Wenn es eine ODER-Verknüpfung ist (wovon ich mal ausgehe), gewinnt natürlich immer der Schutz, nicht dessen Aufhebung.

herbivore
private Nachricht | Beiträge des Benutzers
telfa
myCSharp.de - Member



Dabei seit:
Beiträge: 162
Herkunft: Rheinbach

Themenstarter:

beantworten | zitieren | melden

Hallo herbivore,
danke für deine Antwort.
Und stimmt, meine Aussage ist unklar.
Also noch einmal und mit mehr Inhalt:
Ich habe ein DataGridView, dass ich vorab auf ReadOnly gesetzt habe.
In bestimmten Abhängigkeiten werden dann einzelne Zellen des DGV auf ReadOnly=false gesetzt.
Der Quellcode innerhalb der If-Bedingung wird auch erreicht. Aber auch nach dem setzen auf false steht ReadOnly auf true.
Daher frage ich mich ob eine übergeordnete Situation/Einstellung das verhindert.

Hier der Quellcode dazu:


            foreach (DataGridViewRow dgR in dgvRechPos.Rows)
            {
                //Bemerkung immer nutzbar
                dgR.Cells[4].ReadOnly = false;

                //Wenn kein Betrag enthalten ist Betrag nutzbar
                if (dgR.Cells[3].Value == null)
                    dgR.Cells[3].ReadOnly = false;

                //Wenn Betrag enthalten und noch nicht berechnet Marker nutzbar
                if (dgR.Cells[3].Value != null && dgR.Cells[5].Value == null)
                    dgR.Cells[0].ReadOnly = false;

                //Wenn Betrag enthalten und berechnet aber noch nicht bezahlt, Zahldatum nutzbar
                if (dgR.Cells[3].Value != null && dgR.Cells[5].Value != null && dgR.Cells[6].Value == null)
                    dgR.Cells[6].ReadOnly = false;
            }
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von telfa am .
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo telfa,

im Reflector sieht es wirklich so aus, als würden übergeordnete ReadOnly-Einstellungen per ODER verknüpft. Spricht, wenn ein übergeordnetes ReadOnly true ist, kann ein unterordnete nicht false sein.

Also: Works as designed.

herbivore
private Nachricht | Beiträge des Benutzers