English version (not available yet)
El Dynamic Form recibe como input un único SDT de nombre DynForm con la siguiente composición:
- DynProperty: contiene el conjunto de propiedades a editar (ver tipo DynProperty más abajo)
- Layout: indica el layout con el que deberán dibujarse las propiedades de DynProperty: forma plana, wizard, tabs etc.
El SDT DynProperty tiene la siguiente estructura:
- Id (DynID)
Es el identificador interno de la propiedad el cual debe ser único.
- Name (DynName)
Es el nombre de la propiedad el cual será desplegado en el formulario. Por ejemplo, si quisieramos tener una propiedad para ingresar un país, deberíamos crear una propiedad cuyo name sea "Country" o similar y luego a la derecha se dibujará un combo con los paises.
- Mode (DynMode)
Todas las propiedades pueden tener en principio dos modos: Edit o View. Así, según el modo se dibujará el control especificado en UITypeEditor o UITypeViewer (o el default correspondiente según la propiedad Type). El default es Edit.
- Type (DynBasicTypes)
El tipo de la propiedad, por ejemplo, character. En función de este tipo se dibujará un determinado control en pantalla tanto para el modo Edit como para el modo View. Eventualmente dichos controles pueden ser alterados con las 2 propiedades que se explican a continuación.
- UITypeEditor (DynUITypes)
Especifica el tipo de control a ser mostrado para el modo Edit. En caso de no ser especificado, se asumirá el default correspondiente al tipo de datos especificado en el campo Type.
- UITypeViewer (DynUITypes)
Especifica el tipo de control a ser mostrado para el modo View. En caso de no ser especificado, se asumirá el default correspondiente al tipo de datos especificado en el campo Type.
- Value (DynValue)
Es el valor de la propiedad. Se utiliza tanto para establecer del valor default como para el intercambio de datos una vez que ya está cargado un cierto Dynamic Form.
- Values (DynProperty collection)
Hay propiedades que eventualmente pueden devolver más de un valor, como son las listas ordenables. En ese caso el valor de dichas propiedades se pueden acceder mediante el campo values.
- Valid Values (DynProperty collection)
Hay propiedades como los combos que necesitan de un conjunto de valores posible a elegir. La manera de enviar dichos valores será a través de este campo para luego recuperar el valor seleccionado mediante el campo Value (siempre que el valor seleccionado sea único, en caso contrario sería a través de Values)
- Composition (DynProperty collection)
Una propiedad puede contener a su vez otras propiedaes y es a través de esa recursividad que podemos crear formularios complejos. Podemos pensar por ejemplo en la propiedad Persona que como composition tendrá dos propiedades simples como el Nombre y Apellido.
- Actions
Cada propiedad puede definir un conjunto de acciones propias, es decir, comportamiento que se puede dar sobre la propiedad como invocar a prompts particulares para dicha propiedad etc.
- Metadata (DynProperty collection)
Cada propiedad puede especificar a su vez cierta metadata que será de interés para el control a dibujar o para el propio programador. Por ejemplo podríamos especificar a través de metadata que el campo es "requerido" o que su tamaño debe ser de N caracteres.
Nombre |
Tipo |
Valores |
DynId |
Character(20) |
|
DynName |
Character(20) |
|
DynValue |
Character(20) |
|
DynBasicTypes |
Enumerado |
Boolean Character Color Date DateTime Email Enum Image Group List Numeric Password Upload Uri |
DynUITypes |
Enumerado |
AutoComplete Combo DateNoPicker Default InPlaceEdit Label Multiselect Radio Slider Textarea |
DynActionsTypes |
Enumerado |
Custom Edit Prompt View Save NameLink ValueLink |
DynActionsUITypes |
Enumerado |
Link Button |
DynModes |
Enumerado |
Edit View |
DynLayoutTypes |
Enumerado |
Vertical |