Lab4. ciąg dalszy lab3. 9. Konfiguracja wirualnego formularza (Configure Virtual Forms)

Podobne dokumenty
Lab3. Zad Wybierz opcję File/New Project. Wybierz kategorię projektu Web, a rodzaj projektu Visual Web Application 2. Kliknij na Next 3.

Wykonanie połączenia Page1-Page2: Kliknij lewym klawiszem myszy na Page1.jsp. Kliknij lewym klawiszem myszy na kontrolkę Hiperlink i przeciągnij

Lab5. 1. Ciąg dalszy laboratorium 4.

Wykład 4_2 warstwa prezentacji oraz warstwa integracji bez mapowania obiektów

Laboratorium9_10. Warstwa. zasobów Warstwa integrująca. Baza danych Warstwa. integrująca. integrująca. Warstwa. Wzorzec: Wzorzec: Wzorzec: integracji

on przeznaczony do gromadzenia plików tekstowych, plików graficznych i innych. Server przetrzymuje ładowany plik w pamięci do rozmiaru 4096 jako plik

Lab6. Dwie tabele powiązane relacją jeden do wiele do jednej tabeli (porównaj laboratorium 3, laboratorium 5) Baza danych Sample: tabela Customer w

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Zasady rejestracji i instrukcja zarządzania kontem użytkownika portalu

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

APEX zaawansowany raport

Oracle Application Express

ĆWICZENIE Uruchomić Oracle Forms Builder. 2. Utworzyć nowy formularz (File->New->Form) 3. Nawiązać połączenie z bazą danych (file-connect).

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1. W systemie Windows przejdź do Panel sterowania> Sieć i Internet> Centrum sieci i udostępniania.

Camspot 4.4 Camspot 4.5

Laboratorium 050. Crystal Reports. Ćwiczenie 1. Otwarte pozycje

How to share data from SQL database table to the OPC Server? Jak udostępnić dane z tabeli bazy SQL do serwera OPC? samouczek ANT.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Autor Zofia Kruczkiewicz Wzorce oprogramowania - laboratorium5_6

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Ćwiczenia 2 IBM DB2 Data Studio

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

8. Listy wartości, dodatkowe informacje dotyczące elementów i przycisków

Oracle Application Express

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Aplikacje internetowe i rozproszone - laboratorium

INFORMATOR TECHNICZNY WONDERWARE. Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory

PORÓWNANIE KILKU ZESTAWIEŃ OBROTÓW I SALD

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Problemy techniczne SQL Server

Volcano MC-GM4 OPTICAL MOUSE USER S MANUAL MODECOM

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Problemy techniczne SQL Server

Volcano MC-GMX4 OPTICAL MOUSE USER S MANUAL MODECOM

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Program ćwiczenia nr 4: Okna dialogowe.

INSTRUKCJE JAK AKTYWOWAĆ SWOJE KONTO PAYLUTION

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

INSTRUKCJA TWORZENIA KRZYśÓWEK

Maszyna stanu State Machine

Ćwiczenie 4 Aktualizacja tabel. 1. Skopiuj aplikację przygotowaną na poprzednich zajęciach w katalogu SKOKI1 do nowego katalogu SKOKI2.

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Podstawowe informacje o technologii JavaEE5 Programowanie komponentowe 2

How to translate Polygons

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Zaawansowane aplikacje internetowe laboratorium

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Bezpieczne uruchamianie apletów wg

Przedszkolaki Przygotowanie organizacyjne

Ćwiczenia 9 - Swing - część 1

Konfiguracja połączenia VPN w systemie Windows 7 z serwerem rozgrywki wieloosobowej gry Medal Of Honor: Wojna na Pacyfiku: Pacyfik.

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

****/ZN/2012. if you are pregnant or breast-feeding.

Programowanie w środowisku graficznym GUI

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Krok po kroku... (czyli jak stworzyć i wydrukować krzyżówkę)

Installation of EuroCert software for qualified electronic signature

Protokół JDBC współpraca z relacyjnymi bazami danych lab3


Bazy Danych i Usługi Sieciowe

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Laboratorium 10 - Web Services

Architektura komunikacji

INFORMATOR TECHNICZNY WONDERWARE

Instrukcja laboratoryjna cz.1

programu X-lite Spis treści

NDPHS Database. Instrukcje dla użytkowników. Wersja 1.0

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

trainxx tramxx

Automatyzowanie zadan przy uz yciu makr języka Visual Basic

Informatyzacja Przedsiębiorstw

3. Budowa prostych raportów opartych o bazę danych

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

CMS Admin instrukcja administratora

Stosowanie, tworzenie i modyfikowanie stylów.

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Zmiany techniczne wprowadzone w wersji Comarch ERP Altum

Bazy danych i usługi sieciowe

Aplikacje WWW - laboratorium

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Zaawansowane aplikacje internetowe laboratorium

Transkrypt:

Lab4. ciąg dalszy lab3. 9. Konfiguracja wirualnego formularza (Configure Virtual Forms) 9.1. W trybie Design strony Page1 należy wybrać komponent dropdown1 i kliknąć prawym klawiszem myszy. Z wyskakującego menu wybrać Configure Virtual Forms. 9.2. W formularzu opcji nacisnąć klawisz New. Nowy formularz nazwać np. osoba i oraz kliknąć dwa razy w kolumny Participate i Submit i w obu ustawić Yes. Zatwierdzić ustawienia klawiszem OK.

W wyniku ustawienia wirtualnego formularza nie są sprawdzane dane wyświetlane w komponencie table1. W trybie Design komponent należący do wirtualnego formularza jest podświetlony, pod warunkiem, że zostanie on pokazany po kliknięciu na ikonę pokazaną powyżej na belce narzędziowej.

9.3. Wstawianie komponentów wejściowych do komórek komponentu table1 Po zaznaczeniu komponentu table1 należy kliknąć prawym klawiszem myszy i wybrać z wyskakującego menu wybrać Table Layout. W formularzu wybrać kolejno kolumny tabeli w prawej części formularza i ustawić typ komponentu Text Field w liście Komponent Type i zatwierdzić kolejne ustawienia klawiszem Apply. Zatwierdzić wszystko klawiszem OK.

W trybie Design wiersze tabeli zawierają komponenty typu Text Field 9.4. Utworzenie wirtualnego formularza dla pól wejściowych w komponencie table1 Po naciśnięciu klawisza Ctrl należy kliknąć kolejno na pola wejściowe w table1

Następnie po naciśnięciu prawego klawisza myszy należy wybrać z wyskakującego menu opcję Configure Virtual Forms Po naciśnięciu klawisza New należy wstawić nowy formularz np. o nazwie zachowaj. Należy podwójnie kliknąć dwukrotnie kolumnę Participate i ustawić Yes i zatwierdzić nowy formularz klawiszem OK.

Na stronie Page1 w trybie Design zaznaczone są odrębnymi kolorami komponenty należące do tego samego wirtualnego formularza 9.5. Uzupełnienie kodu źródłowego metody dropdown1_processvaluechange dla zdarzenia typu ProcessValueChange Plik Page1.java public void dropdown1_processvaluechange(valuechangeevent event) { // TODO: Replace with your code try { getsessionbean1().getpersonrowset1().setobject( 1, dropdown1.getselected()); persondataprovider1.refresh();//odświeżenie zawartości komponentu table1 form1.discardsubmittedvalues("zachowaj"); /*ta linia kodu powinna pojawić się po to, aby po wyborze nowej osoby ukazały się nowe dane w komponencie table1 */ persondataprovider.refresh();//odświeżenie zawartości komponentu dropdown1 } catch (Exception e) { error("cannot switch to person " + persondataprovider.getvalue( "PERSON.PERSONID")); log("cannot switch to person " + persondataprovider.getvalue( "PERSON.PERSONID"), e); } }

9.6. Należy uruchomić aplikację za pomocą Build, Deploy i Run. Po wyborze osoby z listy dropdown1 w wierszu komponentu table1 ukażą się pozostałe dane tej osoby. 10. Należy przeciągnąć na każdy komponent typu TextField komponenty Message i za pomocą Ctrl+Shift przeciągnąć komponenty Message na TextField

11. Wstawienie przycisku Dodaj osobę Należy przeciągnąć komponent typu Button i napisać na nim Dodaj osobę. Obsługa zdarzenia klawisza button1 Dodaj osobę. Po naciśnięciu klawisza button1 pojawia się nowy rowek w komponencie table1. Plik Page1.java public String button1_action() { // TODO: Process the action. Return value is a navigation // case name where null will return to the same page. try { RowKey rk = persondataprovider1.appendrow();//dodanie nowego rowka persondataprovider1.setcursorrow(rk);//ustawienie kursora na nowym rowku persondataprovider1.setvalue("person.personid", new Integer(0)); //ustawienie zerowej wartości PERSONID w nowym rowku } catch (Exception ex) { log("error Description", ex); error(ex.getmessage()); } } return null; Należy wykonać import import com.sun.data.provider.rowkey; za pomocą klawiszy Ctrl+Alt+F

12. Należy uruchomić aplikację za pomocą Build, Deploy i Run. Po wyborze osoby z listy dropdown1 w wierszu komponentu table1 ukażą się pozostałe dane tej osoby. Po kliknięciu klawisza Dodaj osobę ukaże się pusty rowek w komponencie table1. Dane wpisane tam nie są zapisywane do tabeli PERSON w bazie danych

13. Zapisanie do tabeli nowej osoby Należy przeciągnąć klawisz Button i napisać na nim np. Zachowaj osobę Należy przeciągnąć tabelę PERSON z zakładki Runtime i opcji Databases > Travel > Tables > PERSON na SessionBean1 w zakładce Outline W ukazanym formularzu wybrać za pomocą klawiszy typu RadioButton ustawić personrowset2

Należy wykonać edycję zapytania SQL dla personrowset2. W tym celu należy kliknąć prawym klawiszem myszy na personrowset2 w okienku Outline i z wyskakującego menu wybrać Edit SQL Statement. Wpisać tekst zapytania, które wyznacza PERSONID dla nowej osoby (większe o 1 od największego dotąd PERSDONID w tabeli PERSDON) SELECT MAX(TRAVEL.PERSON.PERSONID)+1 AS MAXPERSONID FROM TRAVEL.PERSON SELECT MAX(TRAVEL.PERSON.PERSONID)+1 AS MAXPERSONID FROM TRAVEL.PERSON

Wykonanie zapytania za pomocą opcji Run Querry, wybranej z wyskakującego menu, które ukazuje się po kliknięciu prawym klawiszem myszy w obszar zapytania Obsługa zdarzenia naciśnięcia klawisza button2 Zachowaj osobę w pliku Page1.java public String button2_action() { // TODO: Process the action. Return value is a navigation // case name where null will return to the same page. try { // Get the next key, using result of query on persondataprovider2() CachedRowSetDataProvider maxosoba = getsessionbean1().getpersondataprovider2(); maxosoba.refresh(); maxosoba.cursorfirst(); int nowyosobaid =((Integer)maxOsoba.getValue("MAXPERSONID")).intValue(); // Navigate through rows with data provider if (persondataprovider1.getrowcount() > 0) { persondataprovider1.cursorfirst(); do { if ( persondataprovider1.getvalue("person.personid").equals (new Integer(0))) //po znalezieniu nowego rowka z PERSONID równym 0 { persondataprovider1.setvalue("person.personid", new Integer(nowyOsobaId)); //wstawienie poprawnej wartości PERSONID obliczonej w zapytaniu wykonanym w obiekcie personrowset2 nowyosobaid++; } //wyznaczenie nowej wartości PERSONID dla kolejnego rowka, jeśli wprowadzono więcej niż jedną osobę } while (persondataprovider1.cursornext()); }; persondataprovider1.commitchanges();//wprowadzenie do bazy wszystkich //zmian, nie tylko wynikających z nowo wprowadzonego rowka lub kilku nowych rowków persondataprovider.refresh(); //odświeżenie zawartości komponentu dropdown1 } catch (Exception ex) { log("error Description", ex); error("error :"+ex.getmessage()); } return null; }

14. Wstawienie klawisza button2 do wirtualnego formularza zachowaj

15. Uruchomienie aplikacji: Build, Deploy i Run

16. Wstawienie klawiszy usuwania danych należy prawym klawiszem myszy kliknąć na wybrany komponent table1 i wybrać z wyskakującego menu Table Layout Klawiszem New wstawić nową kolumnę do komponentu table1, wstaw do niej komponent typu Button w Component Type, nadaj nazwę nagłówkowi kolumny i jej stopce nazwę oraz tekstowi na klawiszu wartości Usun

Widok strony Page1 w trybie Design Obsługa zdarzenia od naciśnietego klawisza button3 Usun public String button3_action() { } form1.discardsubmittedvalues("zachowaj"); try { RowKey rk = tablerowgroup1.getrowkey(); if (rk!= null) { persondataprovider1.removerow(rk); // usunięcie wybranego rowka persondataprovider1.commitchanges(); // zatwierdzenie wszystkich zmian w rowkach komponentu table1, nie tylko // usuwania, lecz również wstawionych rowków persondataprovider1.refresh();//odświeżenie zawartości komponentu table1 persondataprovider.refresh(); //odświeżenie zawartości komponentu dropdown1 } } catch (Exception ex) { log("errordescription", ex); error(ex.getmessage()); } return null;

17. Uruchom aplikację za pomocą Build, Deploy i Run

18. Wstawienie klawisza usuwania zmian wynikających z edycji Należy wstawić komponent typu Button i napsz naim tekst Wycofaj zmiany Obsluga zdarzenia od klawisza button4 Wycofaj zmiany

public String button4_action() { // TODO: Process the action. Return value is a navigation // case name where null will return to the same page. form1.discardsubmittedvalues("zachowaj"); try { persondataprovider1.refresh();//odświeżenie zawartości komponentu droptable1 persondataprovider.refresh();//odświeżenie zawartości komponentu dropdown1 } catch (Exception ex) { log("error Description", ex); error(ex.getmessage()); } return null; } Utworzenie kolejnego formularza wirtualnego wycofaj zmiany dla przycisków button4 (Wycofaj zmiany), buton3 (Usun) oraz button1 (Dodaj osobę)

19. Uruchomienie aplikacji: Buid, Deploy, Run

Po kliknięciu na inną osobę w dropdown1 i wypełnieniu dodanego rowka przyciskiem Dodaj osobę danymi owej osoby nowa osoba znajduje się w bazie danych po naciśnięciu klawisza Zachowaj osobę

wybranie nowej osoby w dropdown1 Po kliknięciu na przycisk Usun, osoba została usunięta z bazy danych i już nie wyświetla się w liście dropdown1

Po naciśnięciu przycisku Dodaj osobę i wprowadzeniu danych nowej osoby Po naciśnięciu przycisku Wycofaj zmiany

Table 1: Input Components Component Description Palette Section Text Field An input field for a single line of text. Basic Text Area An input field for multiple lines of text. Basic Password Field An input field that echoes the input characters with a replacement character to mask the input. Basic Calendar An input field with a pop-up calendar that allows the user to select a date. Basic Drop Down List Listbox A drop-down menu, also referred to as a combo box. A list from which the user can select either one item or multiple items, depending on how the component is configured. Basic Basic Checkbox A single-character box that the user can either select (check) or clear. Basic Radio Button A single radio button that the user can select (check). Basic Add Remove List File Upload Two lists (one for available options, one for selected options) with buttons to move the options between the lists, and to order the selected options. A component with a text input field and a Browse button that displays a file chooser for specifying a file to upload. The application uploads the specified file when the user submits the page. Composite Basic Table 2: Display Components Component Description Palette Section Static Text Field for displaying text. Basic Label Text field that can be associated with an input field and for which you can specify a weak, medium, or strong font style. Basic Image Inline image. Basic Message Message Group Alert Page Alert Text field that is linked to a specific component for displaying validation errors and other messages about that component. Text field for displaying runtime error messages, program generated error messages, and, optionally, validation errors and other messages about components that are on the page. Displays an icon and informational text such as a warning, an error, or the successful completion of some event. Similar to an Alert component, but is intended for displaying the icon and information on a separate page. Basic Basic Composite Layout

Table 3: Grouping Components Component Description Palette Section Checkbox Group Displays two or more check boxes in a grid layout. Basic Radio Button Group Table, Table Row Group, and Table Column Displays two or more radio buttons in a grid layout and ensures that only one button can be selected at a time. Displays data from a composite data type such as a database table or an array. Basic Basic Tree and Tree Node Renders an expandable list in a tree structure. Basic Tab Set and Tab Grid Panel Displays different layouts on the same page. Also can be used as a navigational tool. Organizes the components within a layout of rows and columns. Layout Layout Group Panel Groups a set of components in flow layout mode. Layout Layout Panel Property Sheet, Property Sheet Section, and Property Breadcrumbs Page Fragment Box Use to group a set of components in flow layout mode or grid layout mode. Lays out a single column of labeled components quickly, and divides the components into sections. Lays out a series of link components separated by right angle brackets (>). Groups components that you want to consistently display on two or more pages. Layout Layout Composite Layout Table 4: Action Components Component Description Palette Section Button Button that submits the associated form. Basic Hyperlink Text field that submits a URL or submits a form. Basic Image Hyperlink Image that submits a URL or submits a form. Basic Tree Node Tab Subcomponent of a Tree or Tree Node. A leaf tree node can optionally submit a URL or submit a form. Subcomponent of a Tab Set or a Tab. A tab can optionally submit a URL or submit a form. Basic Composite