Listas de selección: 4D Back End Calls

Crear la lista - DAX_Devhook_InstallChoiceList

Primero establezca una lista de selección vacía para cada campo. Dentro del método de proyecto llamado DAX_Devhook_InstallChoiceList, coloque una llamada a DAX_Dev_SetChoiceList() para cada campo. Estas son las llamadas específicas en este ejemplo:

En este punto usted vería las listas de selección para los cinco campos, pero no contendrían datos.

    Sintaxis: DAX_Dev_SetChoiceList(selectionName, fieldName, listName)

Llenar la lista - DAX_DevHook_ListContents

Su lista de selección sólo podría recibir datos como está de una lista 4D preexistente en la Caja de herramientas. O puede sobrescribir los datos, o crear los datos desde cero, dentro del método de proyecto DAX_DevHook_ListContents. Luego asocie los datos a la lista creada en DAX_Devhook_InstallChoiceList. En este ejemplo todos los datos son creados sobre la marcha.

Veamos el código de ejemplo para sólo una de las cinco listas de selección. Primero declare las variables para los parámetros entrantes.

C_text($1;$list_t)
C_POINTER($2;$listItems_p)

$list_t:=$1  ` nombre de la lista solicitada por el front-end $listItems_p:=$2  ` puntero al contenido al array de texto de la lista que vamos a devolver al front-end

Pruebe cada lista que está tratando de interceptar o crear. En este ejemplo sólo se examina "task_repeat". Declaramos un array nuevo en lugar de desreferenciar el pasado en puntero, ya que sólo vamos a crear algunos valores aquí.

Case of

  : ($list_t="task_repeat")
    ARRAY text($listItems_p->;10)

Ahora coloque los valores que quiera en el array. Acá están insertados directamente como código fuente del programa, pero los valores podrían llegar por programación.

    $listItems_p->{1}:=""
    $listItems_p->{2}:="Todos los martes"
    $listItems_p->{3}:="Todos los lunes y miércoles"
    $listItems_p->{4}:="Todos los días entre semana"
    $listItems_p->{5}:="Todos los días"
    $listItems_p->{6}:="Todas las semanas"
    $listItems_p->{7}:="Cada 2 semanas"
    $listItems_p->{8}:="Cada mes"
    $listItems_p->{9}:="Cada 6 meses"
    $listItems_p->{10}:="Cada año"

¡Y listo!

  End case

El método DAX_Devhook_InstallChoiceList ofrece una forma muy conveniente de llenar los datos en listas de selección.