English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Pannelli
  • Libreria Pannello
  • Eventi

On Change Page

evento link

Condizioni di notifica

Questo evento viene notificato dai pannelli multi-pagina quando l'utente o il programma cambiano la pagina corrente. Questo può avvenire nei seguenti casi:

  • L'utente cambia pagina cliccando sulle linguette.
  • Il programma cambia la pagina attiva impostando la proprietà Page del pannello.

Utilizzo consigliato

L'evento di OnChangePage può essere utilizzato per aggiornare l'interfaccia utente a seconda della pagina di dati visualizzata.

Siccome è possibile impedire il cambiamento di pagina impostando il parametro Cancel a True, è possibile usare questo evento per verificare che i dati sulla pagina siano completi.

Argomenti

New Page E' un numero intero che rappresenta il numero della pagina in fase di attivazione. Deve essere confrontato con la proprietà Me delle pagine del pannello.
Cancel E' un parametro di uscita booleano. Se lo si imposta a True si impedisce il cambiamento di pagina.

Esempio di codice

// *********************************************************************
// Fired when in a multi-page layout, the panel changes the active page.
// *********************************************************************

event Ordini.Ordini.OnChangePage(
  int NewPage          // Nuova Pagina
  inout boolean Cancel // Imposta a True per impedire il cambio pagina
)
{
  // Se la pagina attuale è quella del destinatario...
  if Ordini.Page = Ordini.Destinatario.Me()
  {
    // Se ho indicato il destinatario ma non il corriere...
    if NOT(IsNull(Ordini.DestinatarioOrdine)) AND IsNull(Ordini.CorriereOrdine)
    {
      // Allora non posso cambiare pagina.
      // P.S. questo vale anche per gli ordini già presenti nel DB.

      Cancel := True
      Ordini.SetInfoMessage(ERROR, MSG Indicare Corriere, ??)
    }
  }
}

Ultima modifica: 03/04/2020 / Validità: da 6.5.2680

  • Non si devono confondere i pannelli multi-pagina con le visualizzazioni a schede (tabbed view). Queste ultime permettono di includere più oggetti visuali diversi nello stesso spazio a video, mentre i pannelli multi-pagina servono per mostrare diversi sotto insiemi di campi a partire dallo stesso set di dati.
  • E' possibile conoscere la pagina attualmente mostrata utilizzando la proprietà Page del pannello.
  • Se si imposta la proprietà Page del pannello all'interno di questo evento si possono verificare le condizioni per un loop infinito.

Vedi Anche

  • Page (proprietà)
  • Me
  • Libreria Tabbed View

Ti serve altro aiuto?

Consulta il Forum