Edellinen ohjeaiheSeuraava ohjeaihe


Opas 5: Tapahtumankäsittelyn kirjoitus JavaScript-kielellä

Tässä oppaassa on ohjeet tapahtumakäsittelyjoukon kirjoitusta varten. Oppaassa oletetaan, että käytät Classic Models, Inc. -mallitietokantaan perustuvaa perusraporttirakennetta. Raporttirakenteessa on oltava ainoastaan asiakastaulukko, jonka yhdessä sarakkeessa on asiakkaiden nimet. Tässä oppaassa lasket niiden asiakkaiden määrän, joiden nimessä on merkkijono "Mini", ja tuot tuloksen näkyviin ponnahdusikkunaan.

Tässä oppaassa teet seuraavat tehtävät:

Tehtävä 1: Raporttirakenteen avaus

Avaa Klassikkoautot-mallitietokantaan perustuva raporttirakenne, jossa on näkyvissä asiakkaiden nimiluettelo.

  1. Avaa tarvittaessa navigaattori valitsemalla vaihtoehdot Ikkuna -> Näytä näkymä -> Navigaattori.
  2. Kaksoisnapsauta asianmukaista raporttirakennetta. Tiedosto avautuu asettelun muokkausohjelmaan kuvan 22-4 mukaisesti.

Tehtävä 2: Table.onCreate( )-metodin laskurin luonti ja alustus

Luo laskuri, joka laskee Mini-merkkijonon sisältävien asiakkaiden nimien määrän, esittelemällä ensin yleinen laskuri ja määrittämällä sen arvoksi nolla. Table.onCreate( )-metodi on sopivin tähän tehtävään, koska se suoritetaan ennen rivien noutoa. Tämän laskurin arvoa kasvatetaan ehdollisesti Row.onCreate( )-metodilla.

  1. Valitse asettelusta taulukko asettamalla hiiren kohdistin lähelle taulukon vasenta alareunaa. Taulukkokuvake tulee näkyviin kuvan 22-5 mukaisesti.
  2. Valitse Komentosarja-välilehti. Komentosarja-välilehti tulee näkyviin kuvan 22-6 mukaisesti.
  3. Kirjoita seuraava koodirivi onCreate( )-metodin komentosarjaikkunaan:
  4. countOfMinis = 0; 
    
  5. Aja raportti ja varmista, ettei koodi aiheuta virheitä, valitsemalla Esikatselu-vaihtoehto.
  6. Selaa raportin alaosaan, johon JavaScript-virhesanomat tulevat näkyviin. Jos virheitä ei ole, raportti tulee näkyviin kuvan 22-7 mukaisesti.
  7. Jos näkyvissä on virhesanoma, olet ehkä kirjoittanut lauseen väärin. Siirry takaisin komentosarjaikkunaan, valitse muokkaamasi metodi, korjaa virhe ja valitse Esikatselu-vaihtoehto uudelleen.

Tehtävä 3: Laskurin arvon kasvatus ehdollisesti Row.onCreate( )-metodilla

Laske niiden asiakkaiden määrä, joiden nimessä on merkkijono Mini, käymällä läpi kunkin asiakkaan nimi ja kasvattamalla laskurin arvoa kunkin nimivastineen kohdalla. Tämä tehtävä kannattaa sijoittaa Row.onCreate( )-metodiin, jonka järjestelmä suorittaa aina, kun se noutaa tietorivin tietolähteestä.

  1. Valitse asettelussa ensin Rivi- ja sitten Komentosarja-vaihtoehto.
  2. Avaa komentosarjaikkunan yläosassa oleva metodiluettelo ja valitse onCreate-metodi, kuten kuvassa 22-8.
  3. Kirjoita seuraava JavaScript-koodirivi komentosarjaikkunaan:
  4. row=this.getRowData( ); 
    
    Huomaa, että kun kirjoitat pisteen, näkyviin tulee ponnahdusikkuna, jossa ovat kaikki käytettävissä olevat metodit ja ominaisuudet, myös getRowData. Tämä koodirivi määrittää, että getExpressionValue( )-metodin sisältävä IRowData-objekti noutaa sarakkeen sisällön riviltä.
  5. Kirjoita seuraava JavaScript-koodirivi äsken kirjoittamasi koodirivin alapuolelle:
  6. CustName=row.getExpressionValue( "row[CUSTOMERNAME]" ); 
    
    Tämä koodirivi palauttaa taulukon sarakkeen sisällön tietojoukon CUSTOMERNAME-sarakkeesta.
  7. Kirjoita seuraava koodirivi, joka kasvattaa Table.onCreate( )-metodin laskurin luonti- ja alustusvaiheessa määritetyn laskurin arvoa.
  8. if( CustName.indexOf( "Mini" ) != -1 ) countOfMinis += 1; 
    
    Voit lisätä tämän rivin seuraavat elementit JavaScript-valikoimasta:
    • indexOf( )
    • Valitse vaihtoehdot Alkuperäiset JavaScript-funktiot -> String-luokan funktiot -> indexOf( ).
    • !=
    • Valitse vaihtoehdot Operaattorit -> Vertailu -> !=.
    • +=
    • Valitse vaihtoehdot Operaattorit -> Osoitus -> +=.
  9. Aja raportti ja varmista, ettei koodi aiheuta virheitä, valitsemalla Esikatselu-vaihtoehto uudelleen.

Tehtävä 4: Tuloksen näyttö
ReportDesign.afterFactory( )-metodin avulla

Tuo näkyviin niiden asiakkaiden määrä, joiden nimessä on merkkijono Mini, lisäämällä koodi metodiin, jonka järjestelmä suorittaa kaikkien taulukon rivien käsittelyn jälkeen. Tämä koodi kannattaa sijoittaa esimerkiksi ReportDesign.afterFactory( )-metodiin.

  1. Valitse hahmotelmanäkymästä raporttirakenne kuvan 22-9 mukaisesti.
  2. Valitse komentosarjaikkunan avattavasta luettelosta afterFactory( )-metodi.
  3. Kirjoita seuraava koodi afterFactory( )-metodiin:
  4. importPackage( Packages.javax.swing ); 
    frame = new JFrame( "Mini-esiintymien määrä = " + countOfMinis ); 
    frame.setBounds( 310, 220, 300, 20 ); 
    frame.show( ); 
    
  5. Tarkista tulokset valitsemalla Esikatselu-vaihtoehto. Jos koodi on virheetön, näkyviin tulee samankaltainen raportti kuin kuvassa 22-10.

Jos Mini-esiintymien määrä -ikkuna ei tule näkyviin, tarkista, onko se Eclipse-ikkunan alla. Jos Mini-esiintymien määrä -ikkuna ei tule näkyviin, kyseessä on todennäköisesti jokin syötetyn koodin sisältämän virheen aiheuttama komentosarjavirhe.

Jos epäilet, että kyseessä on komentosarjavirhe, selaa raportin alaosaan, johon kaikki komentosarjavirhesanomat tulevat näkyviin. Yleensä näkyvissä on lyhyt virhesanoma, jonka vieressä on plusmerkki (+). Plusmerkki ilmaisee, että käytettävissä on yksityiskohtainen virhesanoma, joka tulee näkyviin napsauttamalla lyhyttä virhesanomaa. Laajenna lyhyt virhesanoma napsauttamalla plusmerkkiä. Lue yksityiskohtainen virhesanoma selaamalla alaspäin.


(c) Copyright Actuate Corporation 2006

Edellinen ohjeaiheSeuraava ohjeaihe