Erstellen von Sondersektionen in XML Maske - minova-afis/aero.minova.rcp GitHub Wiki
Grid
Hier wird kurz zusammengefasst, wie ein Grid in der xml-Maske definiert wird.
Für die Steuerung des Grids über einen Helper, Reagieren auf Klick der Buttons, Validierung in den Grids, usw. siehe Plugin (Helper) erstellen.
Das Grid kann entweder eigenständig (also direkt im detail
Tag) erstellt werden, oder in einer Section/page
.
Folgende Attribute sind möglich/nötig:
id
: ID des Grids (darüber kann z.B. ein Helper das Grid ansteuern)procedure-suffix
: Prozedur-Suffix der zu nutzenden Prozedurprocedure-prefix
: Prozedur-Prefix der zu nutzenden Prozedurtitle
: Der Titel (wird übersetzt) des Grids (Wenn eigenstehend in der Maske definiert, ansonsten wird der Title der Parent-Section genutzt)icon
: Das Icon des Grids (Wenn eigenstehend in der Maske definiert, ansonsten wird das Icon der Parent-Section genutzt)button-delete-visible
: false, wenn der Zeile-Löschen Button nicht angezeigt werden soll (true per Default)button-insert-visible
: false, wenn der Zeile-Hinzufügen Button nicht angezeigt werden soll (true per Default)helper-class
: Klasse des Helpers
Für weitere Attribute siehe Grid.xsd, wobei noch nicht alles umgesetzt ist.
Die Spalten werden als field
s definiert, genau wie die normalen Felder der Maske.
Einige Attribute haben allerdings keine Auswirkung, da sie für Spalten eines Grids keinen Sinn ergeben (z.B. number-columns-spanned
, number-rows-spanned
, fill
, ...)
Folgende Besonderheiten sind zu beachten:
- Das Grid benutzt eigene Prozeduren -> Eigene Zahlenfolge für den SQL-Index vergeben, unabhängig von der Hauptmaske und anderen Grids
- In Lookups kann nur
table
verwendet werden, NICHTprocedure-prefix
Außerdem können Knöpfe definiert werden, ebenfalls genauso wie Knöpfe im Rest der Maske. Um diese mit Funktionalität zu versehen ist meistens ein Helper nötig.
Browser
Hier wird kurz zusammengefasst, wie ein Browser in der xml-Maske definiert wird.
Ein Browser ist eine eigenständige Sektion.
Folgende Attribute sind möglich/nötig:
id
: ID des Browsers (darüber kann z.B. ein Helper den Browser ansteuern)title
: Der Titel (wird übersetzt) des Browsersicon
: Das Icon des Browsers
Die Browser Sektion enthält keine Felder oder Grids. Innerhalb der Sektion wird ausschließlich das Browser Widget erstellt. Dies geschieht in der Klasse "BrowserSection". Das Aufrufen der Datei, die dargestellt werden soll, wird in einem Helper ausgeführt (siehe aero.minova.cas.plugin.attachments.helper AttachmentButtonHelper)