Manipuladores de eventos
A lógica de script do cliente é executada como manipuladores de eventos para eventos de formulário. Você deve registrar os manipuladores de eventos para que sua lógica seja executada. O registro para eventos comuns pode ser feito por meio da caixa de diálogo de propriedades do formulário ou do código. Alguns eventos só podem ser registrados com código. Os manipuladores de eventos podem ser executados em vários formulários, mas devem ser registrados separadamente em cada formulário.
Registrar por meio das propriedades do formulário
O registro de um manipulador de eventos usando propriedades de formulário cria uma configuração estática do manipulador de eventos no tempo de design. Sempre que o formulário é carregado, os mesmos manipuladores de eventos são executados. Diferentemente de quando você registra o manipulador de eventos com código, a lógica pode determinar o que deve ser registrado.
No designer de formulários, você pode registrar manipuladores de eventos para os seguintes eventos:
Formulário: esse manipulador permite registrar manipuladores de eventos OnLoad e OnSave.
Guias: esse manipulador permite registrar eventos para cada guia no formulário para alteração do estado de uma guia. Isso geralmente é usado para saber se uma guia está expandida para que você possa executar uma ação, como carregar dados dinamicamente.
Colunas: esse manipulador permite registrar um manipulador de eventos se os dados da coluna forem alterados.
Veja a seguir um exemplo de registro do manipulador de eventos OnLoad para a tabela de contas. Este é um exemplo do manipulador de eventos Form.
Um padrão comum é registrar um manipulador OnLoad e registrar os manipuladores de eventos restantes por meio de código na lógica do manipulador de eventos OnLoad. O benefício dessa abordagem é que, quando é preciso que sua lógica seja executada em vários formulários, não é necessário registrar todos os manipuladores de eventos em cada formulário. Outra vantagem é que, se você precisar determinar dinamicamente alguns dos manipuladores de eventos, poderá usar a lógica para decidir se deve registrar um manipulador. Por exemplo, você poderá ignorar o registro de um manipulador de eventos para uma coluna se puder determinar quando o formulário será carregado e se essa coluna for somente leitura ou oculta.
Registrar usando código
O registro de manipuladores de eventos usando código é possível para todos os manipuladores, exceto OnLoad, que deve ser registrado usando configuração. Você pode usar o manipulador OnLoad para registrar outros manipuladores usando código. Veja a seguir um exemplo de registro de um manipulador OnChange na coluna do número da conta na tabela de contas executando as seguintes etapas:
Crie uma função que seja executada no evento OnLoad do formulário de conta.
Nessa função, chame addOnChange para registrar a função a ser chamada quando a coluna do número da conta for alterada.
Registre o manipulador de eventos OnLoad nas propriedades do formulário da conta.
function LearnLab_handleAccountOnLoad(executionContext)
{
var formContext = executionContext.getFormContext();
formContext.getAttribute('accountnumber').addOnChange(LearnLab_handleOnChangeAccountNumber)
}
function LearnLab_handleOnChangeAccountNumber(executionContext)
{
var formContext = executionContext.getFormContext();
formContext.ui.setFormNotification('Check other systems', 'INFO', 'AcctNumber');
}
Esse código exibirá uma notificação no nível de formulário sempre que os dados da coluna do número da conta forem alterados.
Há muitos outros eventos do lado do cliente para os quais você pode registrar manipuladores.