5. ismertető: Eseménykezelő írása JavaScript nyelven
Ez az ismertető útmutatást nyújt eseménykezelők egy halmazának írásához.
Az ismertető feltételezi, hogy már rendelkezik egy alapvető jelentéssel a
Klasszikus modellek mintaadatbázis alapján. A kiinduló jelentéstervvel
szembeni egyetlen követelmény, hogy tartalmazza a vásárlók tábláját
vásárlók neve oszloppal. Ebben az ismertetőben megszámolja azokat a
vásárlókat, akiknek a neve tartalmazza a "Mini"
karaktersorozatot, és megjeleníti az eredményt egy előugró ablakban.
Ebben az ismertetőben az alábbi feladatokat hajtja végre:
1. feladat: Jelentésterv megnyitása
Nyisson meg egy olyan jelentéstervet, ami a Klasszikus autó
mintaadatbázist használja, és vásárlók neveinek tábláját jeleníti meg.
- Ha szükséges, akkor
nyissa meg a Navigátor nézetet az Ablak->Nézet
megjelenítése>Navigátor menüpontra kattintva.
- Kattintson
duplán a megfelelő jelentéstervre. A fájl megnyílik az
elrendezés-szerkesztőben, mint azt a
22-4. ábra mutatja.
2. feladat: Számláló létrehozása és inicializálása a Table.onCreate( )
metódusban
Az olyan vásárlók megszámolása érdekében, akiknek a neve tartalmazza a
Mini karaktersorozatot, először deklarálnia kell egy globális számlálót, és
nullára kell állítania az értékét. A Table.onCreate( ) metódus a
legmegfelelőbb hely ennek a feladatnak az elvégzésére, mivel a
Table.onCreate( ) a sorok lekérése előtt fut. Majd feltételesen növeli ezt
a számlálót a Row.onCreate( ) metódusban.
- Az Elrendezés
nézetben válassza ki a táblát. Ehhez vigye a kurzort a tábla bal alsó
sarkába. Megjelenik a tábla ikon, mint azt a
22-5. ábra mutatja.
- Válassza a
Parancsfájl lapot. Megjelenik a Parancsfájl lap, mint azt a
22-6. ábra mutatja.
- Írja be az alábbi
kódsort az onCreate( ) metódushoz tartozó parancsfájl ablakba:
- A jelentés
futtatásához és annak ellenőrzéséhez, hogy a kód nem hozott létre hibákat,
kattintson az Előkép gombra.
- Görgessen a
jelentés aljára, ahol megjelennek a JavaScript hibaüzenetek. Ha nincsenek
hibák, akkor a jelentés jelenik meg, mint azt a
22-7. ábra mutatja.
Ha hibaüzenetet lát,
akkor elképzelhető, hogy helytelenül írt egy utasítást. Ha így van, akkor
menjen vissza a parancsfájl ablakba, válassza ki az imént módosított
metódust, javítsa ki a hibát, majd kattintson ismét az Előkép gombra.
3. feladat: A számláló feltételes növelése a Row.onCreate( ) metódusban
Az olyan vásárlók összeszámolásához, akiknek a nevében szerepel a Mini
karaktersorozat, meg kell vizsgálni az egyes vásárlók nevét és minden
előfordulásnál eggyel növelni a számláló értékét. A feladat
végrehajtásához logikus hely a Row.onCreate( ) metódus, ami minden
adatokat tartalmazó sor adatforrásból lekérésekor végrehajtásra kerül.
- Az Elrendezés lapon
válassza a Sor, majd a Parancsfájl lehetőséget.
- Gördítse le a
metódusok listáját a parancsfájl ablak tetején, és válassza az onCreate
metódust, mint azt a 22-8. ábra
mutatja.
- Írja be az alábbi
JavaScript kódot a Parancsfájl ablakba:
Fontos, hogy amikor ez
után beírja a pontot, akkor megjelenik egy előugró ablak az összes
rendelkezésre álló metódussal és tulajdonsággal, beleértve a getRowData
elemet is. A kódsor megszerez egy IRowData példányt, ami rendelkezik egy
getExpressionValue( ) metódussal a sor egy oszlopában található tartalom
megszerzéséhez.
- Írja be az alábbi
JavaScript kódot az imént beírt sor alá:
Ez a kódsor annak a
táblaoszlopnak a tartalmát adja vissza, amelyik az adatsor VÁSÁRLÓNEVE
oszlopából származik.
A JavaScript paletta
segítségével is beszúrhatja az alábbielemeket az előző sorban:
- indexOf( )
Válassza a Beépített (
JavaScript ) objektumok->Karaktersorozat függvények->indexOf( )
lehetőséget
- !=
Válassza az
Operátorok->Összehasonlítás->!= lehetőséget
- +=
Válassza az
Operátorok->Értékadó utasítás->+= lehetőséget
- A jelentés
futtatásához és annak ellenőrzéséhez, hogy a kód nem hozott létre hibákat,
kattintson az Előkép gombra.
4. feladat: Eredmény megjelenítése a
ReportDesign.afterFactory( )
metódus használatával
Az olyan vásárlók számának megjelenítéséhez, akiknek a nevében szerepel a
Mini karaktersorozat, be kell illeszteni egy kódot egy olyan metódusba,
ami a tábla összes sorának feldolgozása után fut. Egy logikus hely ennek a
kódnak a ReportDesign.afterFactory( ) metódus.
- A Vázlat nézetben
jelölje ki a jelentéstervet, mint azt a
22-9. ábra mutatja.
- Válassza az
afterFactory( ) metódust a parancsfájl ablak legördülő listájából.
- Írja be az alábbi
kódot az afterFactory( ) metódusba:
- Az eredmények
megtekintéséhez kattintson az Előkép gombra. Ha nincsenek hibák a kódban,
akkor a 22-10. ábrán láthatóhoz
hasonló jelentést lát.
Ha nem látja a Minik száma ablakot, akkor keresse meg az Eclipse ablak
mögött. Ha a Minik száma ablak nem jelenik meg, akkor a legvalószínűbb ok
a kódbevitelek egyikében található hiba által okozott parancsfájlkészítési
hiba.
Ha azt gyanítja, hogy parancsfájlkészítési hiba történt, akkor görgessen a
jelentés aljára, ahol az összes parancsfájlkészítési hibaüzenet
megjelenik. A legtöbb helyzetben egy rövid hibaüzenet van egy pluszjel ( +
) mellett. A pluszjel azt jelzi, hogy van egy részletesebb hibaüzenet is,
ami csak a rövid hibaüzenet kibontása után látható. A rövid hibaüzenet
kibontásához kattintson a pluszjelre. Görgessen lefelé a részletesebb
hibaüzenet megtekintéséhez.
