Scopo
Tramite questa procedura è possibile rendere scrivibile o meno il campo. Questa è una proprietà dinamica del campo di pannello.
Sintassi
Pannello.Campo.SetEnabled(stato)
Argomenti
Stato | Se impostato a True il campo sarà scrivibile, altrimenti sarà in sola lettura. |
Fattori di abilitazione
Un campo di pannello è abilitato (scrivibile) se si verificano tutte le seguenti condizioni:
- Il campo è visibile.
- Non appartiene a nessuna pagina di pannello, oppure se la pagina a cui appartiene è abilitata.
- Non appartiene a nessun gruppo, oppure il gruppo a cui appartiene è abilitato.
- Il campo ha il flag Initially Enabled (presente nella videata delle proprietà del campo all'interno di Instant Developer) impostato a True, oppure è stata utilizzata la procedura SetEnabled (True) per renderlo abilitato.
- Non è stata utilizzata la procedura SetEnabled (False) all'interno dell'evento OnDynamicProperties per disabilitare una determinata cella della lista, oppure il campo è statico.
- Non è presente un divieto di abilitazione del campo in base al ruolo attivo nella sessione in corso.
Regole proprietà dinamiche
- E' possibile disabilitare una particolare cella della lista utilizzando la SetEnabled (False) all'interno dell'evento di OnDynamicProperties, ma non è possibile abilitare una cella della lista utilizzando la SetEnabled (True) in quell'evento. Questo perchè, per ragioni di sicurezza, se il campo è disabilitato non si può abilitare una singola cella.
- Se si disabilita una cella all'interno dell'evento di OnDynamicProperties non è necessario preoccuparsi di renderla successivamente abilitata ma è sufficiente non disabilitarla più all'interno dello stesso evento.
- Le regole delle proprietà dinamiche non si applicano ai campi statici.
Note
- Un campo disabilitato può comunque essere attivato tramite il doppio click o il pulsante di attivazione. Questo può avvenire se il flag "Don't Activate when Disabled" non è selezionato all'interno della videata delle proprietà del campo di pannello a design time.
Esempio di codice
// *************************************************
// Fired when the panel prepares data visualization.
// *************************************************
event Prodotti2.Prodotti.OnDynamicProperties()
{
// Se è sospeso allora non permetto di modificare i parametri in ordine
if Prodotti.Sosp = True
{
Prodotti.Scorte.SetEnabled(False)
Prodotti.QuantitaOrdinata.SetEnabled(False)
Prodotti.LivelloDiRiordino.SetEnabled(False)
}
}
// Fired when the panel prepares data visualization.
// *************************************************
event Prodotti2.Prodotti.OnDynamicProperties()
{
// Se è sospeso allora non permetto di modificare i parametri in ordine
if Prodotti.Sosp = True
{
Prodotti.Scorte.SetEnabled(False)
Prodotti.QuantitaOrdinata.SetEnabled(False)
Prodotti.LivelloDiRiordino.SetEnabled(False)
}
}
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680