Caisis Input Controls

From CaisisWiki

(Difference between revisions)
Jump to: navigation, search
m (Base Properties)
Line 1: Line 1:
 +
===Interfaces===
 +
====ICaisisInputControl====
 +
'''Controls Implementing ICaisisInputControl'''
 +
*CaisisTextBox
 +
*CaisisTextArea
 +
*CaisisSelect
 +
*CaisisHidden
 +
*CaisisCheckBox
 +
*CaisisComboBox
 +
*CaisisRadioButton
 +
*CaisisRadioButtonList
 +
*CaisisExtendedCheckBoxList
 +
*CaisisExtendedRadioButtonList
 +
 +
====ICaisisLookupControl====
 +
'''Controls Implementing ICaisisLookupControl'''
 +
*CaisisSelect
 +
*CaisisComboBox
 +
=== Base Properties ===
=== Base Properties ===
By default, all controls that implement the ICaisisInputControl interface, have these properties exposed to be set and retrieved by user code. These properties provide easy access to many of the control's UI elements, as well as database related properties such as Table and Field, which allow for syncing with [[Business Objects]].
By default, all controls that implement the ICaisisInputControl interface, have these properties exposed to be set and retrieved by user code. These properties provide easy access to many of the control's UI elements, as well as database related properties such as Table and Field, which allow for syncing with [[Business Objects]].
Line 35: Line 54:
====CssClass (string)====
====CssClass (string)====
The CSS class name to apply to the control.
The CSS class name to apply to the control.
 +
 +
===Extended Properties===
 +
The following properties are exposed by controls implementing the ICaisisLookupControl interface. This provides easy access to binding to [[Lookup Codes]] as well, as offering dynamic cascading values through related controls.
 +
 +
====LookupCode (string)====
 +
A code used to retrieve results from the database.
 +
 +
====LookupDistinct (string)====
 +
Controls filtering of lookup values.
 +
 +
====CascadeValuesBasedOn (string)====
 +
(Advanced) When combined with the CascadeFormatString, lookup codes for a control are generated on the fly (client-side through javascript,CaisisComboBox), or via AutoPostBack events (via server,CaisisSelect). This property takes a list of comma-seperated list of related Fields. When lookup codes are needed (during a combo box click event), then values are extracted from these related fields and used to build a dynamic lookup code that is retrieved from the server.
 +
 +
====CascadeFormatString (string)====
 +
(Advanced) Specifies the format of the dynamic lookup codes, based on values of the related control (CascadeValuesBasedOn). Format is similar to C# String.Format method where string "my first value: {0} and second value: {1}" will have {0} and {1} replaced with an array of values, based on an index 0-n. In this case, the array of values are determined by the controls referenced(by Field names) in CascadeValuesBasedOn. In addition to using indexes of related control, you may also use the n. prefix to extract a number from the control's value. Below is an example of how this property is combined with the CascadeValuesBasedOn.
 +
 +
'''Example:'''
 +
 +
We have the field ClinStageT represented by the CaisisComboBox control.
 +
 +
On this same form their are two CaisisSelect(DropDownList) represented with Field ClinStageDisease and ClinStageSystem.
 +
 +
We now set the related properties.
 +
*CascadeValuesBasedOn="ClinStageDisease,ClientStageSystem"
 +
*CascadeFormatString="StageClin_{0}_{n.1}_T"
 +
 +
When we change the values of ClinStageDisease or ClinStageSystem, the lookup code which the ClinStageT ComboBox generates is based on the two observed values. So if we select Prostate for the ClinStageDisease, and select UICC_02, we will generate a lookupcode "StageClin_Prostate_02_T", since the "Value" of ClinStageDisease is "Prostate" and the "Value" of ClinStageSystem is "UICC_02". We only extract the number for the ClinStageSystem "Value", as our format string said to parse out a number, "{n.1}" from the value at index 1.

Revision as of 20:04, 11 June 2008

Contents

Interfaces

ICaisisInputControl

Controls Implementing ICaisisInputControl

  • CaisisTextBox
  • CaisisTextArea
  • CaisisSelect
  • CaisisHidden
  • CaisisCheckBox
  • CaisisComboBox
  • CaisisRadioButton
  • CaisisRadioButtonList
  • CaisisExtendedCheckBoxList
  • CaisisExtendedRadioButtonList

ICaisisLookupControl

Controls Implementing ICaisisLookupControl

  • CaisisSelect
  • CaisisComboBox

Base Properties

By default, all controls that implement the ICaisisInputControl interface, have these properties exposed to be set and retrieved by user code. These properties provide easy access to many of the control's UI elements, as well as database related properties such as Table and Field, which allow for syncing with Business Objects.

Table (string)

The name of the Database Table corresponding to a control.

Field (string)

The name of the Database Table's field corresponding to a control

Value (string)

This is the corresponding "text" value of a derived control. So, for TextBox the Value field refers to the TextBox's value, for TexArea's value, DropDownList, SelectedValue.

Visible (boolean)

The name of the Database Table corresponding to a control.

FieldLabel (string)

The name to display next to the control.

Required (boolean)

Shows if this field is required on data entry forms.

ShowHelpBubble (boolean)

True or False value indicating wheather to show a help description for a control.

HelpDescription (string)

The help description displayed for a control.

ShowLabel (boolean)

True or False indicating weather to show a control.

Enabled (boolean)

True or False indicating weather to is enabled for editing/modifying.

CssClass (string)

The CSS class name to apply to the control.

Extended Properties

The following properties are exposed by controls implementing the ICaisisLookupControl interface. This provides easy access to binding to Lookup Codes as well, as offering dynamic cascading values through related controls.

LookupCode (string)

A code used to retrieve results from the database.

LookupDistinct (string)

Controls filtering of lookup values.

CascadeValuesBasedOn (string)

(Advanced) When combined with the CascadeFormatString, lookup codes for a control are generated on the fly (client-side through javascript,CaisisComboBox), or via AutoPostBack events (via server,CaisisSelect). This property takes a list of comma-seperated list of related Fields. When lookup codes are needed (during a combo box click event), then values are extracted from these related fields and used to build a dynamic lookup code that is retrieved from the server.

CascadeFormatString (string)

(Advanced) Specifies the format of the dynamic lookup codes, based on values of the related control (CascadeValuesBasedOn). Format is similar to C# String.Format method where string "my first value: {0} and second value: {1}" will have {0} and {1} replaced with an array of values, based on an index 0-n. In this case, the array of values are determined by the controls referenced(by Field names) in CascadeValuesBasedOn. In addition to using indexes of related control, you may also use the n. prefix to extract a number from the control's value. Below is an example of how this property is combined with the CascadeValuesBasedOn.

Example:

We have the field ClinStageT represented by the CaisisComboBox control.

On this same form their are two CaisisSelect(DropDownList) represented with Field ClinStageDisease and ClinStageSystem.

We now set the related properties.

  • CascadeValuesBasedOn="ClinStageDisease,ClientStageSystem"
  • CascadeFormatString="StageClin_{0}_{n.1}_T"

When we change the values of ClinStageDisease or ClinStageSystem, the lookup code which the ClinStageT ComboBox generates is based on the two observed values. So if we select Prostate for the ClinStageDisease, and select UICC_02, we will generate a lookupcode "StageClin_Prostate_02_T", since the "Value" of ClinStageDisease is "Prostate" and the "Value" of ClinStageSystem is "UICC_02". We only extract the number for the ClinStageSystem "Value", as our format string said to parse out a number, "{n.1}" from the value at index 1.

Personal tools