PC SOFT

AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente. Haga clic aquí para ver la versión en inglés.
  • Presentación
  • Principio
  • Recordatorio: el código de sincronización se activa cuando se cumplen las tres condiciones siguientes
  • Implementación
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Sincronización personalizada para la controles Tabla archivo de datos
Presentación
En algunos casos, puede utilizar una sincronización personalizada para los controles de la "Tabla de navegación. Por ejemplo, la sincronización debe ser gestionada entre:
  • la página que aparece en el navegador. Esta página contiene un control de "Tabla de navegación.
  • el contexto de la página correspondiente que se encuentra en el servidor.
Esta gestión personalizada de la sincronización se utiliza para actualizar el contexto de la página en el servidor de acuerdo con la página mostrada en el navegador.. No se muestra ningún mensaje fuera de sincronización en el navegador.
Principio
El método de sincronización personalizado para los controles de "Browsing Table" se basa en una parte de la información oculta en la página: el identificador del registro seleccionado en la ventana de navegación control Tabla.
La sincronización consiste en leer en el servidor el registro actual en los controles de la Tabla de Navegación y en refrescar el control.. Estas operaciones se realizan en el código de sincronización.

Recordatorio: el código de sincronización se activa cuando se cumplen las tres condiciones siguientes

  • la página mostrada en el navegador ya no corresponde al contexto de la página en el servidor.
  • el usuario ejecuta un código de servidor haciendo clic en un enlace o en un botón.
  • "Llamar al proceso de sincronización de la página si el usuario utilizó el botón Atrás del navegador" no ha sido deseleccionada en la pestaña "Advanced" de la descripción del control.
Implementación
Personalizar la gestión de la sincronización de la controles Tabla archivo de datos:
  1. Compruebe si el mecanismo de gestión de sincronización está habilitado.
    • en el nivel de la página ("Usando el botón "Back" del navegador" correspondiente a "Permitido (ejecuta el código de sincronización)" en la pestaña "UI" de la descripción de la página).
    • en cada botón para gestionar la control Tabla o realizar una acción sobre el registro seleccionado en el control (la opción "Llamar al proceso de sincronización de la página si el usuario utilizó el botón Atrás del navegador" no está desactivada en la pestaña "Advanced" de la descripción del control).
  2. Asegúrese de que la opción "Enviar valor de los controles al servidor (HTML: submit)" esté seleccionada para las columnas de tipo "Enlace" del control Tabla (pestaña "Detalles" de la columna). Estas columnas se utilizan para realizar el código de clic en un fila del control Tabla.
  3. Crear un control invisible (nombre "UNIKID" por ejemplo). Este control debe contener el identificador del fila seleccionado en el control Tabla por el usuario.. La inicialización de este control debe realizarse:
    • en el código de inicialización de la control Tabla.
    • en el código de clic de un control Tabla fila.
      Ejemplo de código utilizado para inicializar el control con el identificador de Cliente: UNIKID = CUSTOMER.CUSTOMERID
  4. Crear (si es necesario) los botones (o enlaces) utilizados para mostrar la página siguiente o anterior de control Tabla. El código de estos botones debe inicializar el control invisible creado en el paso 3.
  5. Personalizar el código de sincronización de la página actual. Este código de sincronización debe:
    • releer el registro correspondiente al identificador almacenado en el control oculto.
    • volver a mostrar la control Tabla de este registro
Un ejemplo de código de sincronización puede ser:
// Retrieve the value of the hidden control
CurrentRecord = PageParameter(UNIKID)
 
// Find the record
HReadSeek(CUSTOMER, CUSTOMERID, CurrentRecord)
IF HFound() = True THEN
// Modify the search key in case
// where the search key for the Table control is
// different from the value of the key stored in the invisible control
HChangeKey(CUSTOMER, Name)
// Refresh the Table control
TableDisplay(TABLE_MyTable, taRefresh)
// Retrieves the number of the current row
CurrentRow = PageParameter(TABLE_MyTable)
// Positions the bar in the Table control
TableSelectPlus(TABLE_MyTable, CurrentRow)
// Continues the application without displaying a message
ChangeAction(caContinue)
ELSE
ChangeAction(caError)
END
Versión mínima requerida
  • Versión 9
Comentarios
Haga clic en [Agregar] para publicar un comentario