English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Pannelli
  • Libreria Campi di pannello
  • Proprietà

Set Visible

procedura link

Scopo

Tramite questa procedura è possibile mostrare o nascondere il campo. Questa è una proprietà dinamica del campo di pannello.

Sintassi

Pannello.Campo.SetVisible(stato)

Argomenti

Stato Se impostato a True il campo sarà visible, altrimenti sarà nascosto.

Fattori di visibilità

Un campo di pannello è visibile se si verificano tutte le seguenti condizioni:

  • Non appartiene a nessuna pagina di pannello, oppure se la pagina a cui appartiene è quella selezionata.
  • Non appartiene a nessun gruppo, oppure il gruppo a cui appartiene è visibile.
  • Il campo appartiene al layout attuale del pannello. Se il pannello mostra la lista deve essere attivo il flag Show In List, se il pannello mostra il dettaglio, deve essere attivo il flag Show In Form.
  • Il campo ha il flag Initially Visible (presente nella videata delle proprietà del campo all'interno di Instant Developer) impostato a True, oppure è stata utilizzata la procedura SetVisible (True) per renderlo visibile.
  • Non è stata utilizzata la procedura SetVisible (False) all'interno dell'evento OnDynamicProperties per nascondere una determinata cella della lista, oppure il campo è statico.
  • Non è presente un divieto di visibilità del campo in base al ruolo attivo nella sessione in corso.

Regole proprietà dinamiche

  • E' possibile nascondere una particolare cella della lista utilizzando la SetVisible (False) all'interno dell'evento di OnDynamicProperties, ma non è possibile mostrare una cella della lista utilizzando la SetVisible (True) in quell'evento. Questo perchè, per ragioni di sicurezza, se il campo è invisibile non ne può essere mostrata una singola cella.
  • Se si rende invisibile una cella all'interno dell'evento di OnDynamicProperties non è necessario preoccuparsi di renderla successivamente visibile ma è sufficiente non renderla più invisibile all'interno dello stesso evento.
  • Le regole delle proprietà dinamiche non si applicano ai campi statici.

Esempio di codice

// ***********************************
// Fired when the panel changes status
// ***********************************

event Prodotti1.Prodotti.OnChangeStatus(
  int OldStatus // 
)
{
  // Mostro lo stato del pannello esplicitamente
  Prodotti.StatoPannello.Caption := Stato Pannello +c Decode(Prodotti.Status(),
    PanelStatus)
  // 
  // Mostro la somma dei prodotti solo se non sono in stato
  // inserimento criteri di ricerca

  Prodotti.Somma.SetVisible(Prodotti.Status() <> QBE)
  // 
  // Aggiorno il conteggio delle scorte.
  // Deve essere fatto anche nell'evento di AfterFind e OnUpdatingRow

  Prodotti.Somma.Caption := ToString(Prodotti.Scorte.Sum())
  // 
  // Pulisco i campi Where Clause

  Prodotti.WH.Caption := Empty String
  Prodotti.SWH.Caption := Empty String
}

Ultima modifica: 23/03/2021 / Validità: da 6.5.2680

Vedi Anche

  • On Dynamic Properties (evento ricorrente)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum