Tema anterior: Cómo completar un cuadro combinado según un objeto de datos de informe

Tema siguiente: Cómo utilizar expresiones de JavaScript en los campos


Cómo utilizar la entrada del usuario para completar previamente un cuadro de selección

Para determinar los valores de un cuadro de selección, se puede utilizar la entrada proporcionada por el usuario en uno o más campos del formulario. Esta técnica es útil cuando se desea proporcionar al usuario dos conjuntos de elecciones válidas desde el origen de datos, pero no se desea permitirle que especifique una selección personalizada. Por lo tanto, esta opción ayuda a imponer la estandarización y validez de las selecciones de usuarios al mismo tiempo que se suelen proporcionar a los usuarios varias opciones entre las que elegir.

En un formulario con cuadros de selección tanto para el país como para el estado o la provincia, se realiza una aplicación común de esta técnica. Mediante los atributos reportobjid y reportobjvars, se puede configurar el cuadro de selección Estado o provincia para que muestre solamente los estados o las provincias para el país seleccionado por el usuario.

Para utilizar esta técnica para completar previamente un cuadro de selección según la selección de un usuario en un cuadro de selección anterior, siga el siguiente proceso. En este proceso se utiliza el ejemplo de un país y estado o provincia a modo de ilustración.

  1. En el Constructor de informes, cree un objeto de datos que consulte en el origen de datos (como la MDB) los datos que desee en el primer cuadro de selección. La consulta debe devolver la lista de todos los posibles valores y completar el cuadro combinado con esta lista. Este paso forma parte del proceso de completar previamente un cuadro combinado según un objeto de datos de informe.

    En este ejemplo, cree un objeto de datos de informe que recupere la lista de países de la base de datos.

    Cuando se muestra el formulario, se ejecuta el objeto de datos del informe y se rellena el cuadro combinado con los datos resultantes.

    Anote el ID del objeto de datos para consultarlo más adelante.

    Tenga en cuenta la siguiente muestra de consulta de un objeto de datos para la MDB. Este ejemplo devuelve la lista de países disponibles para el servicio o la opción de servicio al que está adjunto el formulario.

    SELECT country_id,country_name from my_country_table
    

    Esta consulta hace lo siguiente:

  2. En el formulario, agregue el primer cuadro de selección; es uno de los elementos de los formularios.
    1. Para el atributo _id, especifique un valor significativo y guarde el formulario. Anote el valor para referencia posterior cuando especifique el atributo reportobjvars.
    2. Para el valor del atributo HTML llamado reportobjid, especifique el ID del objeto de datos y guarde el formulario.

    Nota: Cuando utilice un objeto de datos para completar un cuadro combinado, no agregue ninguna opción al cuadro de selección, ya que se omiten (no se usan) cuando el usuario abre el formulario. Las opciones para el cuadro de selección se omiten, solamente "importa" el objeto de datos.

    1. Para el atributo multiple del cuadro de selección, especifique False para que los usuarios puedan seleccionar solamente una opción en el cuadro combinado. Guarde el formulario.
    2. Para el atributo title (texto de información sobre herramientas), tiene la opción de especificar texto de instrucciones, como "Haga clic en la flecha y desplácese para seleccionar un país". Guarde el formulario.
    3. Opcionalmente, cambie el nombre del texto de visualización predeterminado del campo de búsqueda de "Campo de búsqueda" a uno más significativo, seleccionando el elemento en el Árbol de componentes y haciendo clic en el icono Renombrar, en la parte superior del árbol.

      Nota: Si se desea, el texto de la información sobre herramientas o el nombre del cuadro de selección se pueden localizar cuando usuarios de configuraciones locales diferentes vayan a utilizar el formulario.

    4. Deje vacío el atributo value. Este valor se completa con el primer resultado devuelto por la consulta.
  3. Cree un segundo objeto de datos de informe para recuperar una lista de valores de la base de datos, según la selección del usuario en el primer cuadro de selección. En este objeto de datos de informe, especifique algunas variables de informe en la consulta que se vayan a completar con la entrada proporcionada por el usuario en otros campos en el formulario.

    En este ejemplo, cree un segundo objeto de datos de informe para recuperar los estados o las provincias de la base de datos, según el país que el usuario seleccione. Siga las instrucciones del paso 1 para crear el segundo objeto de datos de informe.

  4. En el formulario, agregue el segundo cuadro de selección. Este cuadro se va a completar previamente, según la selección del usuario para el primer cuadro de selección. Siga las instrucciones del paso 2 para crear el segundo cuadro de selección, pero tenga en cuenta las consideraciones siguientes:
  5. En el segundo cuadro de selección, especifique el atributo reportobjvars con el formato siguiente: $({'reportvar':valor}).

    Los valores válidos son los siguientes:

    En este ejemplo, cree un segundo cuadro de selección que se completará con los estados o las provincias de la base de datos, según el país que seleccione el usuario. Para el atributo reportobjvars del cuadro de selección Estado o provincia, especifique la función JavaScript predefinida llamada ca_fdGetSelectedOptionValues, como sigue:

    $({'selected_country':ca_fdGetSelectedOptionValues ('<form _id> ','country' )[0]})
    
    form _id

    Especifica el valor del atributo _id del formulario que contiene el primer cuadro de selección. Se hace referencia a este formulario en el paso 2.

    país

    Especifica el valor del atributo _id del primer cuadro de selección. Se creó y anotó este valor en el paso 2.

  6. En el primer cuadro de selección, configure el atributo onchange para recuperar los datos para el segundo cuadro de selección en cuanto el usuario haga una selección en el primer cuadro de selección. Para el atributo onchange, especifique la función JavaScript predefinida llamada ca_fdFetchSelectData, con el formato siguiente:
    ca_fdFetchSelectData('<form _id>','<field _id>'); 
    
    form _id

    Especifica el valor del atributo _id del formulario que contiene el segundo cuadro de selección. Se hace referencia a este formulario en el paso 4.

    field_id

    Especifica el valor del atributo _id del formulario que contiene el segundo cuadro de selección. Se creó y anotó este valor en el paso 4.

    En este ejemplo, configure el atributo onchange para el cuadro de selección País como se explica a continuación:

    ca_fdFetchSelectData('<form _id>','<state field _id>'); 
    
  7. Pruebe el formulario para verificar que funciona como pretendía.

Se recomienda que pruebe el formulario con un servicio en un entorno de prueba antes de utilizarlos en un entorno de producción.