Base: hasFocus beim GridControl
Verfasst: Mo, 05.11.2012 17:06
Hallo, ich möchte wissen, ob ein GridControl in einem Formular aktuell den Fokus hat (also in Bearbeitung durch den Benutzer ist). Insbesondere möchte ich beim Ereignis <strike>"Nach dem Aktualisieren"</strike> "Nach dem Datensatzwechsel" des Formulars unterscheiden:
Fehlermeldung: "Eigenschaft oder Methode nicht gefunden: hasFocus" Wie bekomme ich einen Wert für hasFocus? Mit xray finde ich keine geeignete Eigenschaft oder Methode. Die API-Referenz verweist nur auf das Interface XWindow2; ich kann nicht erkennen, wie ich von oGrid auf XWindow2-Elemente zugreifen könnte.
Danke für Hinweise! Jürgen
Korrektur: Nicht "Datensatzaktion", sondern "Datensatzwechsel" ist gemeint.
- Wenn das Formular den Fokus hat, werden bestimmte Prüfungen benötigt. (Ob die in einer anderen Routine ausgeführt werden oder direkt im EventHandler, ist hier unwichtig.)
- Wenn das Formular nicht den Fokus hat, soll das übergangen werden. Das gilt insbesondere dann, wenn andere Stellen im Formular oder in anderen Teilformularen eine Datenbank-Aktion auslösen.
Code: Alles auswählen
Sub details_changeDataRow(oEvent as Object)
oGrid = thisComponent.drawpage.forms.frmDetails.grid
'xray oGrid
if not oGrid.hasFocus then
exit Sub
end if
rem anderenfalls die eigentlich gewünschten Prüfungen
End Sub
Danke für Hinweise! Jürgen
Korrektur: Nicht "Datensatzaktion", sondern "Datensatzwechsel" ist gemeint.