![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
bitte Mailadresse prüfen!
Registriert seit: 17.03.2002
Beiträge: 198
|
![]() Hallo,
weiß jemand, wie man ein "Click" event auf einem Datagrid abfangen kann, wenn der Fokus auf einer bestimmten Zelle liegt? Ich möchte auf die Zelle des Grids klicken und damit den darunterliegenden Wert ändern (das Grid ist an eine DataTable gebunden). Wenn der Fokus NICHT am Grid liegt, wird der Eventhandler aufgerufen, wenn der Fokus auf einer Zelle des Grids liegt, dann nicht ![]() |
![]() |
![]() |
![]() |
#2 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() hi,
komisches verhalten, das klick event sollte eigentlich immer ausgelöst werden... auswendig fällt mir ein: reagieren auf "onMouseDown" ereignis. das Eventargs enthält die koordinaten des geklickten punktes. Diesen kann man dann umrechnen und feststellen, auf welches element man geklickt hat - hört sich ev. kompliziert an, is aber garnicht so arg. häng mal dein projekt als .zip hier an, dann kann ich mirs bei gelegenheit genauer ansehen. fg hannes |
![]() |
![]() |
![]() |
#3 |
bitte Mailadresse prüfen!
Registriert seit: 17.03.2002
Beiträge: 198
|
![]() Hallo,
danke für dein Angebot. Ich hab's aufgegeben, nachdem ich mich gestern stundenlang damit geärgert habe. Der Event wird nicht ausgelöst, wenn der Fokus auf einer Zelle liegt. Liegt er jedoch außerhalb des Grids, dann schon. Ich habe das Ganze jetzt mit dem MFC-Grid von Codeproject umgesetzt (unser Produkt ist eine gemischte MFC/.NET 1.1 Applikation). Ich wollte nicht mit der Maus auf die Zelle klicken, sondern einfach eine Zahl in Abhängigkeit des darunterliegenden Datenbankfeldes mit shift-key up/down erhöhen bzw. erniedrigen. Zusätzlich sollte die Zelle noch ganz normal editiert werden können. Außerdem sollte eine Selection der ganzen Zeile möglich sein. Das Winforms-Datagrid in der 1.1er scheint ziemlich beschränkt zu sein (um z.B. die ganze Zeile zu selektieren, muß von Hand nachprogrammiert werden). In der 2.0er ist's glaub' ich um einiges besser (die Rowselection funktioniert hier z.B. per property). Das MFC-Grid funktioniert übrigens super und ist auch sehr einfach zu verwenden. lg |
![]() |
![]() |
![]() |
#4 | |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() hmm - eigenltich schlimm, weil ich dachte, dass sowas einfach gehen sollte - naja, der hund liegt oft im detail.
Zitat:
Ebent sollte OnKeyDown sein (nicht onChar, weil Pfeiltasten kein OnChar auslösen) hab mit dem grid aber noch net wirklich viel gemacht, um details hier auswendig zu wissen - aber wenn du deine problem gelöst hast, ist das ja - projektmäßig betrachtet - das wichtigste. ![]() fg hannes |
|
![]() |
![]() |
![]() |
#5 |
bitte Mailadresse prüfen!
Registriert seit: 17.03.2002
Beiträge: 198
|
![]() Keydown oder Click, das war eigentlich egal.
Im 2.0er funktioniert's auch einwandfrei - und einfach, denn da gibts ein KeyPreview Event. Das Grid in der 1.1er ist überhaupt ein ziemlicher Schmarren, wie unsere bayrischen Nachbarn zu sagen pflegen. Leider war aber 2.0 keine Option hier, deswegen die MFC Lösung. Also nocheinmal danke ! |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|