Kurs 5: Pisanie procedury obsługi zdarzeń w języku JavaScript
Ten kurs zawiera instrukcje tworzenia zbioru procedur obsługi zdarzeń. Zakłada się w nim, że użytkownik ma podstawowy projekt raportu oparty na przykładowej bazie danych Classic Models Inc. Jedynym wymaganiem dotyczącym początkowego projektu raportu jest, aby zawierał on tabelę klientów z kolumną na nazwę klienta. W tym kursie zostaną policzeni klienci, których nazwy zawierają łańcuch "Mini", a wyniki zostaną przedstawione w wywołanym oknie.
W ramach tego kursu wykonane zostaną następujące czynności:
Zadanie 1: Otwarcie projektu raportu
Otwórz projekt raportu, który używa przykładowej bazy danych Classic Car i wyświetla tabelę z nazwami klientów.
- Jeśli to konieczne, otwórz Nawigatora, wybierając z menu opcje Okna -> Pokaż widok -> Nawigator.
- Kliknij dwukrotnie odpowiedni projekt raportu. Plik zostanie otwarty w edytorze układu, jak przedstawiono na
Rysunku 22-4.
Zadanie 2: Utworzenie i inicjacja licznika w metodzie Table.onCreate( )
Aby policzyć klientów, których nazwy zawierają łańcuch Mini, należy najpierw zadeklarować licznik globalny i nadać mu wartość zerową. Metoda Table.onCreate( ) jest najodpowiedniejsza do tego zadania, ponieważ jest wykonywana przed pobraniem jakichkolwiek wierszy. Licznik będzie zwiększany warunkowo w metodzie Row.onCreate( ).
- W sekcji Układ wybierz tabelę, umieszczając kursor przy lewym dolnym rogu tabeli. Pojawi się ikona tabeli, jak przedstawiono na
Rysunku 22-5.
- Wybierz kartę Skrypt. Wyświetlona zostanie karta Skrypt, jak przedstawiono na Rysunku 22-6.
- Wpisz następujący wiersz kodu w oknie skryptu dla metody onCreate( ):
- Aby uruchomić raport i sprawdzić, czy kod nie wywołał błędów, wybierz opcję Podgląd.
- Przewiń do dolnej części raportu, gdzie pojawiają się komunikaty o błędach JavaScript. Jeśli nie ma błędów, pojawi się raport, jak przedstawiono na Rysunku 22-7.
Jeśli zobaczysz komunikat o błędach, być może wpisałeś instrukcję nieprawidłowo. W takim przypadku wróć do okna skryptu, wybierz zmodyfikowaną metodę, napraw błąd i ponownie wybierz opcję Podgląd.
Zadanie 3: Warunkowe zwiększenie licznika w metodzie Row.onCreate( )
Aby policzyć klientów z łańcuchem Mini w nazwie, należy zbadać nazwę każdego klienta i zwiększyć licznik o 1 w przypadku, jeśli łańcuch ten występuje w nazwie. Logicznym miejscem do realizacji tego zadania jest metoda Row.onCreate( ), która jest wykonywana przy każdym pobraniu wiersza danych ze źródła danych.
- W sekcji Układ wybierz Wiersz, a następnie opcję Skrypt.
- Rozwiń listę metod umieszczoną w górnej części okna skryptu, a następnie wybierz onCreate, jak przedstawiono na
Rysunku 22-8.
- Wpisz następujący wiersz kodu JavaScript w oknie Skrypt:
Warto zauważyć, że po wpisaniu kropki wyświetlane jest okno wywoływane zawierające wszystkie dostępne metody i właściwości, w tym getRowData. Ten wiersz kodu pobiera instancję interfejsu IRowData, który ma metodę getExpressionValue( ), w celu uzyskania treści kolumny z wiersza.
- Wpisz następujący wiersz kodu JavaScript pod wpisanym wcześniej wierszem:
Ten wiersz kodu zwraca treść kolumny tabeli, która pochodzi z kolumny CUSTOMERNAME w zestawie danych.
Możesz użyć palety JavaScript, aby wstawić każdy z poniższych elementów do tego wiersza:
- indexOf( )
Wybierz opcje Obiekty rodzime (JavaScript) -> Funkcje klasy String -> indexOf( )
- !=
Wybierz opcje Operatory -> Porównanie -> !=
- +=
Wybierz opcje Operatory -> Przypisanie -> +=
- Wybierz opcję Podgląd, aby uruchomić ponownie raport i sprawdzić, czy wprowadzony kod nie wywołuje błędów.
Zadanie 4: Wyświetlanie wyników przy użyciu metody
ReportDesign.afterFactory( )
Aby wyświetlić liczbę klientów, w których nazwach występuje łańcuch Mini, należy wstawić kod do metody, która jest wywoływana po przetworzeniu wszystkich wierszy w tabeli. Jednym z logicznych miejsc dla tego kodu jest metoda ReportDesign.afterFactory( ).
- W sekcji Schemat wybierz projekt raportu, jak przedstawiono na Rysunku 22-9.
- Wybierz z rozwijanej listy okna skryptów metodę afterFactory( ).
- Wpisz następujący kod dla metody afterFactory( ):
- Wybierz opcję Podgląd, aby zobaczyć wyniki. Jeśli w kodzie nie było błędów, wyświetlony zostanie raport podobny do przedstawionego na Rysunku 22-10.
Jeśli nie będzie widoczne okno Count of Minis, poszukaj go pod oknem Eclipse. Jeśli okno Count of Minis nie zostanie wyświetlone, najprawdopodobniej wystąpił błąd skryptu spowodowany błędnym wpisem w kodzie.
Jeśli podejrzewasz, że wystąpił błąd skryptu, przewiń do dolnej części raportu, gdzie wyświetlane są wszystkie informacje o błędach skryptu. W większości przypadków
obok znaku plusa ( + ) pojawi się skrócony komunikat o błędzie. Znak plusa oznacza, że bardziej szczegółowy komunikat o błędzie jest dostępny po rozwinięciu komunikatu skróconego. Aby rozwinąć komunikat skrócony, kliknij znak plusa. Przewiń w dół, aby zobaczyć szczegółowy komunikat o błędzie.
