Exemplo de uso do evento "OnBeforePrint"
Para demonstrar esse evento, crie um relatório que apresenta uma lista de clientes. Este relatório irá incluir apenas as empresas cujo nome comece com "A".
Abra o designer de relatórios e crie um relatório como este:
Selecione a banda de dados e abra a guia "Eventos" no inspetor de objetos:
Para criar um manipulador de eventos "OnBeforePrint" (que é o mais apropriado para nós), clique duas vezes no campo em branco à direita do nome do evento:
Isso adiciona um manipulador em branco ao script e o designer abre a guia "Código".
Tudo que precisamos fazer agora é digitar o seguinte cógido no corpo do manipulador:
PascalScript:
if Copy(<Customers."Company">, 1, 1) = 'A' then
MasterData1.Visible := True
else
MasterData1.Visible := False;
C++Script:
if (Copy(<Customers."Company">, 1, 1) == "A")
MasterData1.Visible = true;
else
MasterData1.Visible = false;
Execute o relatório e certifique-se de que o script está funcionando corretamente:
Vamos explicar diversas coisas. Um manipulador pode ser atribuído aos eventos de mais de um objeto – o parâmetro Sender
exibe qual objeto iniciou o evento. Para atribuir um manipulador existente ao um evento, digite-o diretamente no inspetor de objetos ou selecione-o na lista suspensa:
É fácil excluir o link para um manipulador - selecione o manipulador atribuído no inspetor de objetos e aperte a tecla "Delete".