cObject
---cUIObject
------DfBaseObject
---------DfBaseWindow
------------DfBaseUIWindow
---------------DfBaseContainer
------------------DfBaseGroup
---------------------Group
------------------------RadioGroup
---------------------------dbRadioGroupDS
------------------------------dbRadioGroup
---------------------------------dbRadioContainer
dbRadioGroup is used to group multiple radio objects in a visible object, providing selection of no more than one at a time. The group represents the value of a single data-entry element. Each Radio object within the group represents a possible value for that data item.
Object Status is a dbRadioGroup Set Size to 60 100 Set Location to 10 50 Set Label to "Customer Status" Entry_Item Customer.Status Object r1 is a Radio Set Location to 10 10 // label provided by DD End_Object Object r2 is a Radio Set Location to 25 10 End_Object Object r3 is a Radio Set Location to 40 10 End_Object End_Object
Use DfBase.pkg Object oObjectName is a dbRadioGroup Set Location to vertical horizontal Set Size to height width Entry_Item table.column set Auto_Label_State to true | false Set Label to "text" Get/Set Changed_State Object oRadioObjectID is a Radio Set Location to vertical horizontal End_Object : Object oRadioObjectID is a Radio Set Location to vertical horizontal End_Object End_Object
This class is a subclass of RadioGroup and inherits all of its behaviors and attributes.
An object of this class is associated with a single data element, which is assigned with the entry_item command. Each radio object within this object represents a valid value for the entry item. Each valid choice is defined with a data value (the value that is read and written to the database) and a description (the text value that is displayed with the radio object). These values are supplied automatically by the data dictionary, or they must defined within the object by the fill_list procedure.
Objects of this class are designed to be used most-effectively with a DataDictionary. This object is assigned to a table and column with this object's entry_item statement. The data dictionary will automatically provide a label for each child radio object and handle the interface between the DataDictionary and this object. It will also provide status help for this group.
The key is for the DataDictionary to provide the possible database values via a Validation Table. This can be defined in the DataDictionary modeler in the Studio by setting the Validation Type to validation object and connecting it to a (typically static) ValidationTable in the Column Validation dialog. When designing your radio group, you must know how many items will be supplied by the DataDictionary and create a child radio object for each item.
The radio objects within this object are very simple. Normally, you only set their location. All other information is provided by this object. It is important that you create a radio object for each data value option (whether supplied by the data dictionary or through fill_list).
Note that an object of this class will contain objects based on the Radio class (there is no dbRadio class).
An object of this class is a data-entry object (DEO). A DEO is an object (in this case a RadioGroup) whose native capabilities are augmented with data-aware behaviors. These behaviors include:
These data-aware "skills" are added to all DEO classes through a series of mix-in classes. The messages are listed here but documented in the mix-in classes. You are encouraged to study the documentation of the mix-in classes. Information provided in these classes may be applied to all DEO classes (all db... classes). Those classes are: Nesting_Mixin, Navigate_Mixin, Verify_Mixin, Server_Mixin, Find_Edit_Mixin, Entry_Item_Mixin, DEO_Delegate_Mixin, Validate_Mixin and Clear_Defaults_Mixin.
Radio objects are of limited use within data-entry views. They are static. You must know how many choices are available for an entry item and you must create a Radio object for each choice. If you add or remove a choice, you must redesign your screen to add or remove a Radio object. The dbComboForm represents a more-flexible method of presenting choices. In addition, groups of radio objects take up a relatively large amount of screen space. If a radio consists of only two choices, a dbCheckBox can more-effectively be used. If more than two choices are supported, a dbComboForm is more space-efficient.
For the above reasons, data-aware radio objects should be used judiciously.
When using Radios with data dictionaries, each radio object's description is provided by the data dictionary. The label provided by the data dictionary or provided through fill_list will override any label you directly set in the radio object. If you wish to alter or override this label provided from the data dictionary, you have several choices:
Set Code_Display_Mode to CD_Display_Code
Function Code_description_value string DescVal string DataVal returns string string sDisplayVal Move (DataVal - ":" * Uppercase(DescVal)) to sDisplayVal Function_Return sDisplayVal End_Function
Procedure Set Radio_Value integer item# string Val End_Procedure Object R1 is a radio set Location to 10 10 set Label to "Custom" End_Object