2016-09-26 3 views
0

Ich benutze ein UltraGrid und habe Interesse daran, AfterRowActivate- und CellChange-Ereignisse zu verarbeiten. Durch Klicken auf eine Zelle in einer booleschen Spalte und einer nicht aktiven Zeile werden beide Ereignisse ausgelöst, zuerst AfterRowActivate und dann CellChange. Gibt es eine Möglichkeit zu wissen, in der Methode, die das AfterRowActivate behandelt, dass Ereignis ausgelöst wurde, indem Sie auf eine Zelle in der booleschen Spalte klicken und daher auch CellChange-Ereignis ausgelöst wird?Behandlung von AfterRowActivate- und CellChange-Ereignissen gleichzeitig

+0

Es gibt ein AfterCellActivate, das vor dem CellChanged-Ereignis ausgelöst wird und Informationen über die angeklickte Zelle enthält. AfterRowActivate empfängt einen normalen EventArgs-Parameter ohne Informationen über die aktuelle Zelle. Warum müssen Sie mit AfterRowActivate umgehen? – Steve

+0

Der Punkt ist, dass ich ein UltraPanel in einem UltraDockManager habe und das Panel anzeigen oder ausblenden möchte, je nachdem, ob die aktive Zeile eine boolesche Spalte überprüft hat. Also brauche ich das AfterRowActivate, um das Panel ein- oder auszublenden, aber auch CellChange für den gleichen Zweck. AfterCellActivate wird vor CellChange, aber nach AfterRowActivate ausgelöst, daher weiß ich in der Methode, die das AfterRowActivate behandelt, nicht, ob sich der Wert der booleschen Zelle als Ergebnis dieser einzigen Aktion ändert (Klicken auf die Zelle der booleschen Spalte in einem nicht aktive Reihe). Eine Idee wird sehr hilfreich sein. @ Steve – Robin

Antwort

0

Es gibt keinen direkten Weg zu finden, ob eine Boolean Zelle in AfterRowActivate Ereignis geklickt wurde. Dieses Ereignis kann ausgelöst werden und wenn die Zeile nach dem Klicken auf den Zeilenselektor aktiviert wurde. Was Sie versuchen können, ist das UIElement, auf das der Benutzer geklickt hat. Wenn das UIElement CheckEditorCheckBoxUIElement ist, wird höchstwahrscheinlich angezeigt, dass auf die Kontrollkästchenzelle geklickt wurde.

Verwandte Themen