Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Ad_form Multirow Db_multirow
2
Ad_form: Este es un proc
Ad_form: Este es un proc. de alto nivel para generar y manipular las formas convencionales de HTML. Incluye opciones especiales para manejar el despliegue de formas interactuando con una base de datos. En combinacion con multirow y db_multirow, es posible presentarle al usuario una forma completa en donde puede interactuar con los datos (visualizar datos, insertar nuevos datos, modificar datos, borrar datos e incuso visualizar los datos en algún orden en particular).
3
- Una forma es definida en un archivo .tcl de la siguiente forma:
+ ad_form -name nombreX -export { valor_x } -form { } - nombreX es el nombre con el cual voy a identificar a la forma (debe ser exactamente el mismo nombre con el cual intento invocar a la forma en la página.adp) - Con la opción “-export { valor_x }” me es posible pasar valores de forma oculta (similar al estilo de html convencional: <input type=”hidden” name=”valor_x” value=X>) - Es posible indicarle a una forma que los datos se le van a presentar al usuario de forma “no-editable” o bien de forma editabe (que es una forma común y corriente). Esto se logra convirtiendo la línea de arriba en: + ad_form -name nombreX -export {valor_x} -mode $form_mode -form{
4
- Para lograr desplegar los distintos tipos de inputs disponibles para el usuario, hay que usar los widgets pre-definidos. Ejemplos: + {object_name:text {label "Object Text"}} + {object_name:textarea {label "Object Text"}} + {object_name:text(select) {label "Object Text"} {options {{"Texto1" "Valor1"} {"Texto2" "Valor2"} }} } * Al ser definidos de esta manera, se asume que el usuario debe llenar los campos que se le presentan. Si alguno no es indispensabe, entonces se indica de la siguiente manera: + {object_name:text(textarea),optional{label "Text"}}
5
- Dependiendo la forma en que se define el contract, es posible hacer algunas validaciones (por ejemplo, requerir que el input en ciertos campos sea unicamente de tipo integer). → Ejemplo: ad_page_contract { This page will display the name and age entered on the nameage page. } { name age:integer }
6
* Opciones más comunes que se pueden utilizar en ad_form:
- name: indica cual es el identificador de la forma. - action: aquí se indica el nombre del script que se va a llamar media vez se le haga submit a la forma. - mode: aquí se le indica a la forma si los datos se pueden modificar por el usuario o únicamente los puede ver (display | edit). - method: aqué se indica qué metodo se va a utilizar para pasar los parámetros (GET|POST). -export: con esta opción puedo pasar parámetros de forma “hidden”.
7
- select_query: me permite hacer un query a la BD y llenar automáticamente los campos de la forma con el resultado del query. - on_submit: aquí se indica un bloque de código que se va a ejecutar cuando se le haga submit a la forma. - new_data: se encarga de insertar en la base de datos el nuevo registro correspondiente al input del usuario (media vez sea correcto dicho input). - edit_data: se encarga de modificar un registro ya existente en la base de datos. - validate: se encarga de validar algún elemento en particular de la forma.
8
Multirow y Db_multirow: Este switch (multirow) apunta a una estructura db_multirow. Para que funcione, el nombre del objeto db_multirow debe llamarse exactamente igual al switch multirow. El objeto db_multirow se encarga de ejecutar un query y almacena los resultados en las variables que nosotros le indicamos (media vez hagan match con el nombre que le definimos en multirow).
9
Ejemplo: template::list::create -name nombre_lista \ -multirow nombre_lista_mr \ -elements { elemento1 { label "Texto1" link_url_col item_url link_html {title "Click to view details" } } elemento2 { label "Texto2" *Cada “elemento” va a ser una columna en nuestra lista.
10
db_multirow -extend {elemento1, elemento2} nombre_lista_mr nombre_lista_mr \
"select item_id, elemento1, elemento2 from nombre_tabla where *condicion " { #aquí puede ir código de tcl si es necesario... }
11
* El resultado es algo similar a esto:
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.