Laden...

DataGridView: Cell click auf "halbe" Zeile

Erstellt von inva vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.409 Views
I
inva Themenstarter:in
37 Beiträge seit 2007
vor 13 Jahren
DataGridView: Cell click auf "halbe" Zeile

Hallo liebe Community,

Ich hänge zur Zeit bei einem Problem in meinem DataGridView.

Ausgangssituation:
Ich habe ein eigenes DataGridView control erzeugt, indem ich von der Klasse DataGridView erbe und diverse Methoden/Events überschreibe.
So auch getan mit dem OnCellClick() Event in dessen Behandlungsroutine eigener Code ausgeführt werden soll. Zudem habe ich die "graue" Spalte in der der schwarze Pfeil angezeigt wird eingeblendet.

Ist das DataGridView nun soweit gefüllt, dass die Scrollbars eingeblendet werden, entstehen am unteren Rand "halbe" Zeilen. Also Zeilen die nicht mehr ganz angezeigt werden können und demnach nur noch halb erscheinen.

Nun folgendes Problem:
Klicke ich in solch eine halbe Zeile, wird der Code in meiner überschriebene OnCellClick() Behandlungsroutine ausgeführt. Klicke ich jedoch auf die "graue" Spalte vor der Zeile, wird die Behandlungsmethode nicht aufgerufen (funktioniert aber sonst in allen anderen Zeilen, also allen, die nicht "halb" angezeigt werden). Bei solch einem Klick, wird die OnCellClick() Behandlungsmethode auch gar nicht aufgerufen, bzw. wird zu keinem gesetzten Breakpoint gesprungen.

Ist dies ein Bug, oder gibt es die Möglichkeit noch irgendein Property zu setzen, welches Klicks auf die graue Spalte gleich Klicks auf Zellen im Grid behandelt, oder benutze ich das falsche Event?

Ich würde das Problem gerne lösen, eine Alternative wäre jedoch die graue Spalte auszublenden.

Grüße,
inva

Aller Wahrscheinlichkeit nach wird das Weltall von einem Rudel Irrer regiert.

5.299 Beiträge seit 2008
vor 13 Jahren

Da jibbets doch das RowHeaderMouseClick-Event für, also auch die überschreibbare methode OnRowHeaderMouseClick

Der frühe Apfel fängt den Wurm.

I
inva Themenstarter:in
37 Beiträge seit 2007
vor 13 Jahren

hey!
Danke für deine Post, aber leider springt er in dem beschriebenem Fall gar nicht in den Eventhandler hinein 😦
Sobald ich auf eine untere Zeile klicke, die nur halb da ist, tut das nicht mehr, ist das vielleicht ein Bug des DataGridView's?

Aller Wahrscheinlichkeit nach wird das Weltall von einem Rudel Irrer regiert.

2.187 Beiträge seit 2005
vor 13 Jahren

Hallo inva,

ErfinderDesRades meinte, dass CellClick garnicht ausgelöst wird (er geht also weder in deinen noch den DataGridView-Code), da du garnicht auf eine Cell sondern auf den RowHeader (der graue Teil vor der Row) clickst.

Gruß
Juy Juka

[EDIT]
Siehe Bild:
Rot = RowHeader
Blau = Cell
Grün = ColumnHeader
[/EDIT]

I
inva Themenstarter:in
37 Beiträge seit 2007
vor 13 Jahren

Hi,
Also wenn ich es debugge, wird die OnCellClick Methode selbst beim Klick auf RowHeaders aufgerufen, undzwar sogar noch vor der OnRowHeaderMouseClick Methode.

Wie gesagt, das Problem besteht nur, bei "halben" rows (siehe Bild unten).
Klicke ich hier auf den RowHeader, wird weder das OnCellClick noch das OnRowHeaderMouseClick event aufgerufen.

Das ist meine ich mit einer halben Zeile (rot eingerahmt):
siehe Anhang

Aller Wahrscheinlichkeit nach wird das Weltall von einem Rudel Irrer regiert.