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.
Ayuda / Desarrollar una aplicación o un sitio web / Controles, ventanas y páginas / Página / Gestión del botón Atrá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/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Sincronización personalizada para controles Tabla basada en un archivo de datos
Presentación
En algunos casos, es posible que desee utilizar una sincronización personalizada para controles Tabla basada en un archivo de datos. Por ejemplo, la sincronización debe ser gestionada entre:
  • la página que aparece en el navegador. Esta página contiene una control Tabla basada en un archivo de datos.
  • 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 controles Tabla basado en un archivo de datos se basa en una información oculta en la página: el identificador de la Record seleccionada en la control Tabla a partir de la un archivo de datos.
La sincronización consiste en leer la Record actual en la control Tabla del servidor y refrescar la 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 se corresponde con el 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 se ha desmarcado en la pestaña "Avanzado" del control description.
Implementación
Para personalizar la sincronización de controles Tabla basada en un archivo de datos:
  1. Compruebe si el mecanismo de gestión de sincronización está habilitado.
    • a nivel de página ("Usando el botón "Atrás" del navegador" correspondiente a "Permitido (ejecuta el código de sincronización)" en la pestaña "UI" de la página description).
    • en cada botón para gestionar el control Tabla o realizar una acción sobre el Record seleccionado en el control (opción "Llamar al proceso de sincronización de la página si el usuario utilizó el botón Atrás del navegador" no desmarcada en la pestaña "Avanzado" del control description).
  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 Invisible control (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 Invisible control 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 Record correspondiente al identificador almacenado en el control oculto.
    • volver a mostrar el control Tabla de este Record
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

Última modificación: 08/06/2022

Señalar un error o enviar una sugerencia | Ayuda local