Předchozí témaNásledující téma


Výukový program 5: Napsání obslužné rutiny událostí v jazyce JavaScript

Tento výukový program poskytuje pokyny pro napsání sady obslužných rutin událostí. Výukový program předpokládá, že máte základní návrh sestavy založený na ukázkové databázi Classic Models, Inc. Jediný požadavek na počáteční návrh sestavy je, aby obsahoval tabulku zákazníků se sloupcem pro jméno zákazníka. V tomto výukovém programu spočítáte zákazníky, jejichž jména obsahují řetězec "Mini", a zobrazíte výsledek v informačním okně.

V tomto výukovém programu provedete následující úlohy:

Úloha 1: Otevřít návrh sestavy

Otevřete návrh sestavy, který používá vzorovou databázi klasických automobilů Novější historická vozidla (Classic Car) a zobrazuje tabulku jmen zákazníků.

  1. V případě potřeby otevřete navigátor výběrem položky Okno->Zobrazit pohled->Navigátor.
  2. Poklepejte na příslušný návrh sestavy. Soubor se otevře v editoru rozvržení, viz Obrázek 22-4.

Úloha 2: Vytvořit a inicializovat čítače v metodě Table.onCreate( )

Abyste zjistili počet zákazníků, jejichž jména obsahují řetězec Mini, musíte nejprve deklarovat globální počítadlo a nastavit jeho hodnotu na nulu. Metoda Table.onCreate( ) je nejvhodnějším místem pro tento úkon, protože Table.onCreate( ) se provádí před natažením jakýchkoliv řádků. V metodě Row.onCreate( ) tento čítač podmíněně zvyšujete.

  1. V Rozvržení vyberte tabulku umístěním kurzoru poblíž jejího levého dolního rohu. Zobrazí se ikona tabulky, jako na Obrázku 22-5.
  2. Zvolte kartu Skript.Zobrazí se karta Skript, jako na Obrázku 22-6.
  3. Napište následující řádek kódu do okna skriptu pro metodu onCreate( ):
  4. countOfMinis = 0; 
    
  5. Abyste spustili sestavu a zkontrolovali, zda kód nevykázal žádné chyby, vyberte možnost Náhled.
  6. Posuňte se na konec sestavy, kde se objevují chybové zprávy jazyka JavaScript. Pokud zde žádné chyby nejsou, sestava se zobrazí, jako na Obrázku 22-7.
  7. Pokud vidíte chybovou zprávu, mohlo dojít k chybnému zápisu příkazu. Pokud je tomu tak, přejděte zpět do okna skriptu, vyberte právě upravenou metodu, opravte chybu a potom opět zvolte Náhled.

Úloha 3: Podmíněný přírůstek čítače v metodě Row.onCreate( )

Abyste spočítali zákazníky s řetězcem Mini ve jménu, musíte prozkoumat jméno každého zákazníka a při každém výskytu zvýšit hodnotu čítače o jedna. Logické místo pro tuto úlohu je v metodě Row.onCreate( ), která se provádí při každém načítání řady dat ze zdroje dat.

  1. V Rozvržení vyberte položku Řádek a dále Skript.
  2. Rozbalte seznam metod v horní části okna skriptu a vyberte možnost onCreate, jako na Obrázku 22-8.
  3. Napište následující řádek kódu JavaScript do okna Skript:
  4. row=this.getRowData( ); 
    
    Všimněte si, že jakmile následně vstoupíte do období, objeví se informační okno obsahující všechny dostupné metody a vlastnosti, včetně getRowData. Tento řádek kódu získá instanci IRowData, která má metodu getExpressionValue( ) k získání obsahu sloupce v řádku.
  5. Napište následující řádek kódu JavaScript pod řádek, který jste právě napsali:
  6. CustName=row.getExpressionValue( "row[CUSTOMERNAME]" ); 
    
    Tento řádek kódu vrací obsah sloupce tabulky, který pochází ze sloupce CUSTOMERNAME v množině dat.
  7. Napište následující řádek kódu k podmíněnému zvyšování čítače, který jste vytvořili ve Vytvořit a inicializovat čítače v metodě Table.onStart( ).
  8. if( CustName.indexOf( "Mini" ) != -1 ) countOfMinis += 1; 
    
    Můžete použít paletu JavaScript k vložení každého z následujících prvků do předcházejícího řádku:
    • indexOf( )
    • Vyberte možnosti Nativní ( JavaScript ) objekty->Funkce řetězců->indexOf( )
    • !=
    • Vyberte Operátory->Srovnání->!=
    • +=
    • Vyberte Operátory->Přiřazení->+=
  9. Vyberte Náhled, abyste spustili sestavu znovu a mohli zkontrolovat, zda zadaný kód nevygeneroval nějaké chyby.

Úloha 4: Zobrazit výsledek pomocí
metody ReportDesign.afterFactory( )

Abyste zobrazili počet zákazníků, jejichž jméno obsahuje řetězec Mini, vložíte kód do metody, která je spuštěna po zpracování všech řádků v tabulce. Jedno logické místo pro tento kód je v metodě ReportDesign.afterFactory( ).

  1. V Osnově vyberte návrh sestavy, jako na Obrázku 22-9.
  2. Vyberte metodu afterFactory( ) z rozevíracího seznamu okna skriptu.
  3. Napište následující kód do metody afterFactory( ):
  4. importPackage( Packages.javax.swing ); 
    frame = new JFrame( "Count of Minis = " + countOfMinis ); 
    frame.setBounds( 310, 220, 300, 20 ); 
    frame.show( ); 
    
  5. Vyberte Náhled, abyste si prohlédli výsledky. Pokud nedošlo k žádné chybě, uvidíte sestavu podobnou té na Obrázku 22-10.

Pokud nevidíte okno Počet Mini, hledejte ho za oknem Eclipse. Pokud se okno Počet Mini nezobrazí, nejpravděpodobnější je, že chyba skriptu způsobila chybu v jednom ze zadání kódů.

Pokud máte podezření, že došlo k chybě ve skriptu, přesuňte se na konec sestavy, kde se zobrazují chybové zprávy skriptů. Ve většině situací je vedle znaku ( + ) stručná chybová zpráva. Znak plus značí, že existuje podrobnější chybová zpráva, která je viditelná až po rozbalení stručné chybové zprávy. Abyste rozbalili stručnou chybovou zprávu, klepněte na znaménko plus. Potom se posouvejte dolů a prohlédněte si podrobnější chybovou zprávu.


(c) Copyright Actuate Corporation 2006

Předchozí témaNásledující téma