Guia de iniciação 5: Escrever um tratamento de eventos em JavaScript
Este guia de iniciação faculta instruções para escrever um conjunto de rotinas de tratamento de
eventos. O guia de iniciação assume que possui uma concepção de relatório simples baseada na
base de dados exemplo Classic Models, Inc. O único requisito da concepção de relatório inicial é
que contenha uma tabela de clientes com uma coluna para o nome do cliente. Neste guia de
iniciação, deverá contar os clientes cujos nomes contêm a cadeia "Mini" e apresentar o
resultado numa janela emergente.
Neste guia de iniciação, deverá executar as seguintes tarefas:
Tarefa 1: Abrir a concepção de relatórios
Abra uma concepção de relatório que utilize a base de dados exemplo Classic Car e apresente uma
tabela de nomes de clientes.
- Caso seja necessário, abra o Navegador
seleccionando Janela->Mostrar vista->Navegador.
- Faça duplo clique na concepção de relatório
adequada.
O ficheiro abre o editor de esquemas, tal como indicado na Figura
22-4.
Tarefa 2: Criar e inicializar um contador no método Table.onCreate( )
De forma a contar o número de clientes cujos nomes contêm a cadeia Mini deverá, em primeiro lugar,
declarar um contador global e definir o seu valor para zero. O método Table.onCreate( ) é o
local mais adequado para executar esta tarefa dado que Table.onCreate( ) é executado antes que
sejam devolvidas quaisquer linhas. Este
contador é condicionalmente incrementado no método Row.onCreate( ).
- Em Esquema, seleccione a tabela colocando o
cursos próximo do canto inferior esquerdo da mesma. É
apresentado o ícone de tabela, tal como indicado na Figura
22-5.
- Seleccione o separador Script. É apresentado
o separador Script, tal como indicado na Figura 22-6.
- Introduza a seguinte linha de código na
janela de scripts para o método onCreate( ):
- Para executar o relatório e verificar se o
código não criou quaisquer erros, seleccione Pré-visualizar.
- Efectue um deslocamento
até ao final do relatório onde as mensagens os erro JavaScript são
apresentadas. Caso
não ocorram erros, é apresentado o relatório, tal como indicado na
Figura 22-7.
Caso seja apresentada uma mensagem de erro, poderá
ter sido introduzida uma instrução de forma incorrecta. Se tal acontecer, volte à janela de
scripts, seleccione o método modificado, corrija o erro e seleccione Pré-visualizar novamente.
Tarefa 3: Incrementar condicionalmente o contador no método Row.onCreate( )
Para contar o número de clientes com a cadeia Mini nos respectivos nomes, deverá examinar todos os
nomes de clientes e adicionar um ao contador para cada ocorrência. Um
local lógico para executar esta tarefa é o método Row.onCreate( ), que é executado depois de
cada recuperação de uma linha de dados da origem de dados.
- Em Esquema, seleccione a Linha e, em seguida,
seleccione Script.
- Abra a lista de métodos localizada na parte
superior da janela de scripts e seleccione onCreate, tal como indicado na
Figura 22-8.
- Introduza a seguinte linha de código
JavaScript na janela de scripts:
Tenha em conta o facto de que, ao introduzir um
ponto final depois desta linha de comandos, é apresentada uma janela emergente contendo todas as
propriedades e métodos disponíveis, incluindo getRowData. Esta linha de código obtém uma ocorrência
de IRowData, que possui um método, getExpressionValue( ), para obter o conteúdo de uma coluna da
linha.
- Introduza a seguinte linha de JavaScript
abaixo da linha introduzida:
Esta linha de código devolve o conteúdo da
coluna da tabela que tem a sua origem na coluna CUSTOMERNAME no conjunto de dados.
É possível utilizar a paleta JavaScript para
introduzir cada um dos elementos na linha precedente:
- indexOf( )
Seleccione Objectos (JavaScript) nativos->Funções de cadeia->indexOf( )
- !=
Seleccione Operadores->Comparação->!=
- +=
Seleccione Operadores->Atribuição->+=
- Seleccione Pré-visualizar para executar
novamente o relatório de forma a verificar que o código introduzido não criou quaisquer erros.
Tarefa 4: Apresentar o resultado utilizando o método
ReportDesign.afterFactory( )
Para apresentar a contagem de clientes com a cadeia Mini nos respectivos nomes, deverá introduzir
código num método que seja executado após o processamento de todas as linhas da tabela. Um
local lógico para este código é o método ReportDesign.afterFactory( ).
- Em Esquema, seleccione a concepção do
relatório, tal
como indicado na Figura 22-9.
- Seleccione o método afterFactory( ) a partir
da lista de selecção da janela de scripts.
- Introduza o seguinte código no método
afterFactory( ):
- Seleccione Pré-visualizar para ver o
resultados. Caso não tenha ocorrido qualquer erro no código, é apresentado um relatório semelhante
ao indicado na Figura 22-10.
Se não visualizar a janela Count of Minis, procure-a atrás da janela do Eclipse. Se a janela Count
of Minis não for apresentada, a razão mais provável é que o responsável seja um erro de criação de
scripts causado por um erro numa das entradas de código.
Se tem suspeitas de que possa ter ocorrido um erro de criação de scripts, efectue um deslocamento
até ao final do relatório onde todas as mensagens os erro na criação de scripts são apresentadas. Na
maioria dos casos, é apresentada uma curta mensagem de erro junto a um sinal de adição ( + ). O
sinal de adição indica que existe uma mensagem de erro mais detalhada apenas visível depois da
mensagem curta de erro ser expandida. Para expandir a breve mensagem de erro, seleccione o sinal
de adição. Efectue um deslocamento para baixo de forma a visualizar a mensagem mais pormenorizada.
