Caisis Input Controls&action it

From CaisisWiki

(Difference between revisions)
Jump to: navigation, search
(Extended Properties)
(CascadeFormatString (string))
Line 83: Line 83:
====CascadeFormatString (string)====
====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.
+
(Avanzato) Specifica il formato dei codici di lookup dinamici, basato sui valori del controllo associato (CascadeValuesBasedOn). Il formato è simile a quello della C# String. Metodo del formato dove la stringa "mio primo valore: {0} e secondo valore: {1}" vedranno {0} e {1} sostituiti con un array di valori, basato su un indice 0-n. In questo caso, l'array di valori è determinato dai controlli referenziati(per nome di Field) nel CascadeValuesBasedOn. Oltre ad utilizzare gli indici dei relativi controlli, è anche possibile usare il prefisso n. per estrarre un numero di valori di controllo. Di seguito un esempio su come questa proprietà interagisce con il CascadeValuesBasedOn.
-
'''Example:'''  
+
'''Esempio:'''  
-
We have the field ClinStageT represented by the CaisisComboBox control.  
+
Supponiamo di avere il campo ClinStageT rappresentato dal controllo CaisisComboBox.  
-
On this same form there are two CaisisSelect(DropDownList) represented with Field ClinStageDisease and ClinStageSystem.
+
Nello stesso form ci sono anche due CaisisSelect(DropDownList) per rappresentare i Field ClinStageDisease e ClinStageSystem.
-
We now set the related properties.
+
Impostiamo ora le seguenti proprietà:
*CascadeValuesBasedOn="ClinStageDisease,ClientStageSystem"
*CascadeValuesBasedOn="ClinStageDisease,ClientStageSystem"
*CascadeFormatString="StageClin_{0}_{n.1}_T"
*CascadeFormatString="StageClin_{0}_{n.1}_T"

Revision as of 19:42, 22 August 2008

(traduzione italiana in corso)

Contents

Introduzione

In questa sezione vengono descritti i controlli di input di Caisis che costituiscono i controlli base dell'interfaccia utente all'applicazione, che si appoggiano ai controlli standard previsti da .NET controls, quali TextBoxes, TextAreas, CheckBoxes, RadioButton, DropDownList, etc... Questi controlli forniscono proprietà utili applicabili ai vari elementi dell'interfaccia (calendari, tastierini numerici, icone, descrizioni...) con poca attività di programmazione.

I controlli di input di Caisis forniscono proprietà addizionali per facilitare la loro associazione con i Business Objects. Proprietà quali Table e Field facilitano l'associazione del valori dei controlli ai rispettivi nomi di campi e tabelle associati del database.

Interfacce


ICaisisInputControl

L'interfaccia denominata ICaisisInputControl fornisce gli elementi più comuni attraverso proprietà e fornisce supporto per trattare l'associazione con i campi dei [Business Object] correlati. Controlli implementati da ICaisisInputControl

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

ICaisisLookupControl

L'interfaccia denominata ICaisisLookupControl fornisce un accesso facilitato per legare i controlli ai LookupCodes, come definito dall'amministratore. Esistono anche proprietà addizionali utilizzate per creare codici di lookup dinamici basati su valori scelti dall'utente.

Controls Implementing ICaisisLookupControl

  • CaisisSelect
  • CaisisComboBox

Proprietà di base


Per default, tutti i controlli implementati dall'interfaccia ICaisisInputControl, hanno tutte le proprietà esposte in modo da essere settate e trovate per codice utente. Queste proprietà forniscono un accesso facilitato a molti controlli dell'interfaccia utente, assieme a proprietà di database quali Table e Field, che consentono il collegamento con i Business Objects.

Table (string)

Il nome della tabella di database corrispondente al controllo.

Field (string)

Il nome del campo della tabella del database corrispondente al controllo.

Value (string)

Questo è il corrispondente valore di "text" di un controllo derivato. Quindi, per TextBox il campo Value si riferisce al valore del TextBox, della TexArea, del DropDownList, del SelectedValue.

Visible (boolean)

Il nome della tabella di database corrispondente al controllo.

FieldLabel (string)

Il nome da visualizzare dopo il controllo.

Required (boolean)

Indica se questo campo è obbligatorio nei moduli di data entry.

ShowHelpBubble (boolean)

Valore True o False che indica se visualizzare un help per il controllo.

HelpDescription (string)

Descrizione di help visualizzata per il controllo.

ShowLabel (boolean)

Valore True o False che indica se visualizzare il controllo.

Enabled (boolean)

Valore True o False che indica se abilitare la modifica del controllo.

CssClass (string)

Nome della classse del CSS (foglio di stile) da applicare al controllo.

Proprietà estese


Le seguenti proprietà sono esposte dai controlli implementati nell'interfaccia ICaisisLookupControl. Ciò fornisce un accesso facilitato al collegamento con i Lookup Codes ed ai relativi valori collegati attraverso i relativi controlli.

LookupCode (string)

Il codice utilizzato per cercare i risultati dal database.

LookupDistinct (string)

Controlli che filtrano i valori di lookup.

CascadeValuesBasedOn (string)

(Avanzato) Combinato con il CascadeFormatString, i lookup codes per un controllo sono generati al volo (client-side tramite javascript,CaisisComboBox), o tramite eventi AutoPostBack (via server,CaisisSelect). Questa proprietà prende una lista di campi separati da virgola. Solo quando i codici di lookup sono richiesti (all'evento click su un combo box), i valori vengono estratti dai campi correlati del database per costruire dinamicamente i codici di lookup richiesti al server.

CascadeFormatString (string)

(Avanzato) Specifica il formato dei codici di lookup dinamici, basato sui valori del controllo associato (CascadeValuesBasedOn). Il formato è simile a quello della C# String. Metodo del formato dove la stringa "mio primo valore: {0} e secondo valore: {1}" vedranno {0} e {1} sostituiti con un array di valori, basato su un indice 0-n. In questo caso, l'array di valori è determinato dai controlli referenziati(per nome di Field) nel CascadeValuesBasedOn. Oltre ad utilizzare gli indici dei relativi controlli, è anche possibile usare il prefisso n. per estrarre un numero di valori di controllo. Di seguito un esempio su come questa proprietà interagisce con il CascadeValuesBasedOn.

Esempio:

Supponiamo di avere il campo ClinStageT rappresentato dal controllo CaisisComboBox.

Nello stesso form ci sono anche due CaisisSelect(DropDownList) per rappresentare i Field ClinStageDisease e ClinStageSystem.

Impostiamo ora le seguenti proprietà:

  • 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 for ClinStageSystem, 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.

NOTES: If the control using these properties is a CaisiSelect, everytime an observed control changes values, it will cause a post back to the server, causing syncing issues with retaining values. The CaisisComboBoxes however do not post back, as values are generated via javascript and are retrieved using Client CallBacks, there is no need to worry about retaining values. If unsure, CaisisComboBoxes always provide the best method to handle dynamic lookup codes. The controls being observed (CascadeValuesBasedOn) can still be any type of control, even a CaisisSelect.

Personal tools