Radiobutton

Previous  Next

 

 

 

01.01.2010

Radiobutton

Für dieses Beispiel benötigen Sie die Beispiel-Datenbank FAHRZEUGE und das Projekt fahrzeuge.xdev

 

Radiobuttons dienen zur Auswahl verschiedener Optionen und werden daher oft auch als Optionsfelder bezeichnet. Radiobuttons werden immer als Radiobutton-Gruppe eingesetzt. Eine Radiobutton-Gruppe bildet genauso wie eine List- oder Combobox alle Werte aus einem Datenfeld ab, z.B. verschiedene Farbwerte, nur mit dem Unterschied, dass Radiobuttons i.d.R. vom Entwickler fest in die Oberfläche implementiert werden, während List- und Combobox-Inhalte meistens dynamisch generiert werden. Radiobuttons sind somit eine Alternative zu einer List- oder Combobox, wenn die jeweiligen Werte bereits bei der Entwicklung bekannt sind und die Wahrscheinlichkeit sehr gering ist, dass sich diese in der Zukunft ändern. Ist jedoch absehbar, dass sich Werte ändern oder neu dazu kommen, dann sollten Sie anstelle von Radiobuttons eine List- oder Combobox einsetzen.

 

Für die individuelle Beschriftung besitzen Radiobuttons einen eigenen Text-Container mit all dessen Möglichkeiten. Um Text einzugeben, müssen Sie den Radiobutton mit Doppelklick anklicken bis der Cursor erscheint.

 

clip0481

 

» Regeln für die Darstellung beachten «

Ein Radiobutton kann lediglich zwei Zustände annehmen: selektiert oder nicht selektiert. In einer Radiobutton-Gruppe darf jedoch immer nur 1 Radiobutton selektiert sein. Eine andere Darstellung, z.B. alleinstehender Radiobutton, ist zwar programmiertechnisch möglich, verstößt jedoch gegen Useability-Regeln. Über die Eigenschaften bei Selektiert können Sie einen Radiobutton auch vorselektieren, sodass schon vor der ersten Auswahl selektiert dargestellt wird.

 

Darstellung

Bewertung

clip0482

Falsch. Radiobuttons müssen immer aus einer Gruppe von mindestens 2 Radiobuttons bestehen. Bei diesem Fall handelt es sich um eine Ja / Nein Option, für die Sie eine Checkbox verwenden müssen.

 

clip0483

Falsch. Es muss immer 1 Radiobutton selektiert sein. 

 

clip0484

Falsch. Es darf immer nur 1 Radiobutton selektiert sein. Wenn die Auswahl mehrerer Optionen möglich sein soll, dann müssen Sie Checkboxen verwenden.

 

 

» Einsatz nur als Button-Gruppe «

Um Radiobuttons zu einer Gruppe zusammen zu fassen, müssen Sie bei jedem Radiobutton in den Eigenschaften bei Button-Gruppe/Datenfeld jeweils denselben Gruppen-Namen manuell eintragen. Als Gruppen-Namen können Sie dabei eine beliebige Zeichenkette angeben. Auch Umlaute, Sonder- und Leerzeichen sind erlaubt. Dies gilt jedoch nur für Radiobuttons, die nicht zu einem bestimmten Formular gehören, sondern unabhängig von einem Formular eingesetzt werden.

 

clip0485

 

 

» Alle Radiobuttons mit gleichem Datenfeld verknüpfen «

Jeder einzelne Radiobutton einer Gruppe steht für einen Wert in einem Datenfeld, z.B. für eine Farbe. Deshalb muss jeder Radiobutton mit demselben Datenfeld verknüpft werden. Beim Speichern des Formulars wird dann nur der Rückgabewert des selektierten Radiobuttons in das verknüpfte Datenfeld gespeichert. Umgekehrt wird beim Füllen des Formulars mit einem Datensatz immer nur der Radiobutton selektiert, bei dem der Wert aus dem verknüpften Datenfeld mit dem im Radiobutton hinterlegtem Wert für die Selektierung übereinstimmt.

 

Das verknüpfte Datenfeld wird automatisch als Radiobutton-Gruppen-Name verwendet. Die Verknüpfung erfolgt genauso wie bei anderen Formular-Komponenten, indem Sie im Projektmanagement bei Virtuelle Tabellen das entsprechende Datenfeld per Drag&Drop nacheinander auf alle Radiobuttons einer Gruppe ziehen. Das verknüpfte Datenfeld wird automatisch in den Eigenschaften bei Button-Gruppe / Datenfeld hinterlegt.

 

clip0486

 

 

clip0498


Alle Radiobuttons werden mit demselben Datenfeld verknüpft. Jeder Radiobutton steht für einen Wert im verknüpften Datenfeld, der im Radiobutton fest hinterlegt werden muss.

 

 

 

» Rückgabewert und Werte für Selektierung «

In den Eigenschaften bei Rückgabewert müssen Sie einen Wert festlegen, der im verknüpften Datenfeld gespeichert werden soll, wenn der Radiobutton selektiert ist. Denselben Wert müssen Sie bei Wert für Selektierung festlegen. Dieser Wert selektiert den Radiobutton bei der Ausgabe des Datensatzes im Formular. I.d.R. handelt es sich beim Rückgabewert und beim Wert für die Selektierung um ein- und dieselbe ID.

 

Alternativ können Sie hier jedoch auch aussagekräftige Werte angeben, falls Sie diese im entsprechenden Datenfeld an Stelle von IDs verwenden.

 

Als Werte für die Selektierung können Sie falls nötig sogar mehrere gültige Werte durch Komma getrennt angeben.

 

clip0487

 

clip0488


clip0491


Bei Rückgabewert und Werte für die Selektierung geben Sie i.d.R. die ID an, die der Radiobutton speichern soll, oder durch die der Radiobutton beim Füllen des Formulars selektiert wird.

 

Sie können auch aussagekräftige Werte angeben, falls Sie diese im Datenfeld verwenden. Dies wird in der Praxis häufig gemacht, ist jedoch nicht empfehlenswert.

 

Als Werte für die Selektierung können Sie sogar mehrere Werte angeben, falls in einer älteren Datenbank verschiedene Werte für dieselbe Bedeutung gespeichert wurden.

 

 

 

» Radiobuttons dynamisch generieren «

Radiobuttons müssen natürlich nicht zwangsweise statische Elemente sein, sondern können grundsätzlich auch dynamisch erzeugt werden. Dies erfordert jedoch einen gewissen Programmieraufwand.

 

 

 

Spezielle Eigenschaften des Radiobuttons:

 

Eigenschaften

Erklärung

Rückgabewert

(Speichern)

Beim Abspeichern des Radiobuttons wird der hier hinterlegte Wert in das Datenfeld geschrieben. I.d.R. werden hier IDs angegeben.

 

Werte für Selektierung

(Ausgabe)

Wenn die Formular-Füll-Methode dem Radiobutton den hier angegebenen Wert übergibt, dann wird der Radiobutton selektiert.

 

 

Hinweis: Radiobuttons sind nur dann geeignet, wenn gleichzeitig nachfolgende Punkte zutreffen. Ansonsten müssen Sie den Einsatz von Checkboxen, einer List- oder Combobox prüfen.

 

• Sie wollen mindestens 2 oder mehrere Optionen zur Auswahl anbieten

• Der Anwender muss eine Auswahl treffen

• Der Anwender soll nur 1 Option auswählen können

• Die Auswahl-Optionen müssen später nicht mehr dynamisch erweitert, z.B. männlich - weiblich.

 

Wenn Sie davon ausgehen müssen, dass zu einem späteren Zeitpunkt weitere Auswahl-Optionen dazu kommen können, z.B. bei einer Auswahl verschiedener Kreditkarten, dann sollten Sie unbedingt auf den Einsatz von Radiobuttons verzichten und stattdessen eine List- oder Combobox verwenden. Denn falls Sie einen weiteren Kreditkarten-Anbieter aufnehmen möchten, dann müssten Sie in die Anwendungslogik eingreifen und das Formular oder sogar mehrere Formulare mit einem weiteren Radiobutton erweitern. Das ist nicht nur ein erheblicher Aufwand, da die Anwendung neu kompiliert und anschließend ein Update herausgegeben werden müsste, sondern stellt zudem eine große, jedoch völlig unnötige Fehlerquelle dar. Beim Einsatz einer List- oder Combobox müssten Sie dagegen lediglich eine Schlüssel-Tabelle, z.B. eine Tabelle Kreditkarten_Anbieter, mit einem neuen Eintrag, sprich dem neuen Kreditkarten-Anbieter erweitern. Diese Erweiterung lässt sich problemlos über die Admin-Oberfläche Ihrer Anwendung oder über das Datenbank-Frontend Ihrer Datenbank vornehmen, ohne dass ein Eingriff in die Anwendung selbst erfolgen muss.

 

Tipp: Zusammengehörende Radiobuttons werden gerne mit einem beschrifteten Rahmen dargestellt. Den Rahmen können Sie einem Container ohne Hintergrund zuweisen.

 

Hinweis: Wenn sich die Radiobuttons in einem Formular befinden, das Sie mit einer Funktion auslesen möchten, sollten Sie die Radiobuttons nicht in den Container einfügen, sondern den Container mit Rahmen zuerst neben den Radiobuttons anlegen und diesen dann unter die Radiobutton-Gruppe schieben, sodass die Radiobuttons auch weiterhin direkt im Formular liegen.