![]() |
DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
Hallo!
Hab gerade festgestellt dass wenn man eine Zeile im DBGrid selektiert (MultiSelect) und diese dann anklickt um sie zu deselektieren dann bleibt sie (die Zeile) markiert bis zum ernauten klicken auf eine andere (Zeile). (Was für ein Satz...) Wie kann man das beheben? Ist die Selektion wirklich aufgehoben und es liegt nur noch an der Anzeige oder bleibt die Zeile gewählt? Hat jemand damit schon Erfahrungen gemacht? Kann man das lösen? Vielen Dank, Philipp |
Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
Hallo,
habe das Gleiche festgestellt. Mit
Delphi-Quellcode:
siehst Du aber, dass die Zeile wirklich abgewählt worden ist.
ShowMessage(IntToStr(grdData.SelectedRows.Count));
Edit: passiert übrigens nur im Read-Only-Modus. |
Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
Zitat:
Hab jetzt so ziemlich jede Einstellung im OI durch, ohne erfolg.... HILFE!!! Danke trozdem, Philipp |
Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
Hallo Philipp,
SelectedRows verlangt nach bestimmten Options (RowSelect, MultiSelect) und dann ist nicht mehr die Einfärbung der Zeile relevant, sondern das angezeigte Icon für den Satzzeiger. Grüße vom marabu |
Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
Ich hoffe ich meine das richtige mit Satzzeiger,
der Zeigt mir nämlich den Pfeil (ähnlich wie "Play") nach abwahl der Zeile, was meiner Meinung nach bedeutet dass diese Zeile die "CurrentSelectedRow" ist. Und das ist falsch, den eigentlich sollte diese Zeile NICHT selektiert sein... Ich kann dem Anwender ja schlecht sagen er soll nach dem Abwählen erst mal wo anders im Grid hinklicken, oder? Muss doch auch anders gehen.... Philipp |
Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
Ahh, sorry - mein Fehler.
Hatte das Ganze in einer bestehenden Applikation getestet in der beim Umschalten des Modus auf ReadOnly := False die Eigenschaft RowSelect nicht gesetzt wurde. Fazit: Tritt auch bei ReadOnly auf und liegt wohl an der RowSelect-Eigenschaft. Wenn ich diese auf False setze, und MultiSelect gesetzt ist, wird ja trotzdem noch die ganze Zeile ausgewählt. |
Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
Brauche ja auch MultiSelect, RowSelect muss auch auf true sein....
Was kann man da machen? |
Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
Habe eben versucht im OnMouseDown-Ereignis des Grids manuell
Delphi-Quellcode:
aufzurufen, aber sobald das Grid mit Daten gefüllt ist, greift das OnMouseDown-Ereignis nicht mehr?!?
CurrentRowSelected := not CurrentRowSelected
|
Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
Würde auch nichts bringen, da ich ja erstmal ne Procedure bräuchte die
auf sowas wie "SelectedRow.Click" anspricht.... Über die Bookmark-list gehts nicht.... Ich glaub ich nehm ne andere Kompo.... Philipp |
Re: DBGrid Selected Rows: Abgewählte Zeile bleibt markiert?
Naja, würde sagen wir mal 'halb' gehen, wenn Du auch noch die Maustaste (mbLeft) und den ShiftState (ssCtrl) abgreifst im OnMouseDown Ereignis.
Aber anscheinend tritt das Ereignis nicht ein, wenn man auf eine Zelle innerhalb des Grids klickt. Ausserhalb funktionierts... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz