Tópico
anteriorTópico
seguinte


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.

  1. Caso seja necessário, abra o Navegador seleccionando Janela->Mostrar vista->Navegador.
  2. 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( ).

  1. 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.
  2. Seleccione o separador Script. É apresentado o separador Script, tal como indicado na Figura 22-6.
  3. Introduza a seguinte linha de código na janela de scripts para o método onCreate( ):
  4. countOfMinis = 0; 
    
  5. Para executar o relatório e verificar se o código não criou quaisquer erros, seleccione Pré-visualizar.
  6. 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.
  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.

  1. Em Esquema, seleccione a Linha e, em seguida, seleccione Script.
  2. Abra a lista de métodos localizada na parte superior da janela de scripts e seleccione onCreate, tal como indicado na Figura 22-8.
  3. Introduza a seguinte linha de código JavaScript na janela de scripts:
  4. row=this.getRowData( ); 
    
    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.
  5. Introduza a seguinte linha de JavaScript abaixo da linha introduzida:
  6. CustName=row.getExpressionValue( "row[CUSTOMERNAME]" ); 
    
    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.
  7. Introduza a seguinte linha de código para incrementar condicionalmente o contador criado em Criar e inicializar um contador no método Table.onCreate( ).
  8. if( CustName.indexOf( "Mini" ) != -1 ) countOfMinis += 1; 
    
    É 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->+=
  9. 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( ).

  1. Em Esquema, seleccione a concepção do relatório, tal como indicado na Figura 22-9.
  2. Seleccione o método afterFactory( ) a partir da lista de selecção da janela de scripts.
  3. Introduza o seguinte código no método afterFactory( ):
  4. importPackage( Packages.javax.swing ); 
    frame = new JFrame( "Count of Minis = " + countOfMinis ); 
    frame.setBounds( 310, 220, 300, 20 ); 
    frame.show( ); 
    
  5. 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.


(c)
Copyright Actuate Corporation 2006

Tópico
anteriorTópico
seguinte