Entwickler-Ecke
WinForms - DataGridView Select in Spalte unterdrücken
Trombone - Fr 02.09.11 14:16
Titel: DataGridView Select in Spalte unterdrücken
Moin,
gibt es eine Möglichkeit in einer DataGridView die erste Spalte für die auswahl zu sperren?
Ich meine damit nicht nur Read Only sondern komplett Select zu unterdrücken.
Gruß!
mats74 - Mi 07.09.11 11:44
Hallo Trombone
Ich habe in meinem Projekt das gleiche Problem.
Ich muss in einer DataGridView in gewissen Spalten die Select-Anweisung unterdrücken.
Aber ich habe bis jetzt keine Lösung gefunden, dies zu ermöglichen.
Hat da irgendjemand doch noch eine Idee?
Sehr professioneller Lösungsansatz:
Die Farbe der Selektion gleichsetzen wie DataGridView-Hintergrundfarbe (gehört definitiv in die Bastelabteilung) :P
Gruss
mats74
dark-destination1988 - Mi 07.09.11 12:20
naja eventuell beim click ereignis testen ob die gewählte zeile der ersten entspricht und wenn ja --> selection aufheben
Ralf Jansen - Mi 07.09.11 12:53
Bevor man da sinnvoll was raten kann. Geht es nur um die Selektion einer Row und/oder auch um den Focus einer Row? Und dann die Rows die man Selekieren/Fokusieren in MultiSelect oder immer nur eine Row?
mats74 - Mi 07.09.11 13:49
Hallo zusammen
dark-destination1988 hat folgendes geschrieben : |
| naja eventuell beim click ereignis testen ob die gewählte zeile der ersten entspricht und wenn ja --> selection aufheben |
... das ist eigentlich der richtige Ansatz.
Ich habe für mich nun eine Lösung gefunden, die ich akzeptieren kann.
C#-Quelltext
1: 2: 3: 4: 5:
| private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = false; dataGridView1.Rows[e.RowIndex].Cells["DEINSPALTENNAME"].Selected = true; } |
Mit diesem Event sind die Maus-Ereignisse und die Selektion mit der Tastatur abgefangen.
Die gewünschte (editierbare) Zelle erhält gleich nach der Selektion einer beliebigen Zelle den Fokus und das unschöne Aufflackern der fälschlicherweise selektierten Zelle entfällt.
Die beliebig selektierte Zelle wird farblich also zu keinem Zeitpunkt verändert.
Wenn man mehrere editierbare Zellen (Spalten) hat, kann man diese mit einer IF-Anweisung natürlich ansteuern und den User zur richtigen Eingabe zwingen.
Gruss
mats74
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!