Uruchomienie dynamicznej akcji za pomocą przycisku w technologii APEX

post_img

W aplikacjach wykonanych w technologii Apex mamy możliwość obsłużenia przycisku wykorzystując do tego celu procesy. Rozwiązanie to wymaga operacji „submit” podczas każdorazowego wykonania procesu. W wielu sytuacjach wolelibyśmy aby naszym działaniem objęte zostały tylko wybrane elementy strony bez wywoływania operacji „submit”. Tutaj z pomocą przychodzą dynamiczne akcje, które umożliwiają wykonanie kodu tylko na wybranych obiektach strony. W APEX 4.0  nie możemy uruchomić wprost dynamicznej akcji z wykorzystaniem przycisku. W wykonaniu tej funkcjonalności pomoże nam poniższy opis.

Aby dowiedzieć się więcej na temat dynamicznych akcji zapraszam do lektury:

http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21674/advnc_dynamic_actions.htm#CIHCFDGB

Przygotowanie przycisku do uruchamiania dynamicznej akcji

Wywołanie dynamicznej akcji przy użyciu przycisku wymaga modyfikacji szablonu przycisku. Modyfikacja ta pozwoli na użycie atrybutu ID do identyfikacji przycisku. Aby dokonać modyfikacji szablonu należy:

  1. w aplikacji przejść do zakładki „Shared Components” > „Templates”;
  2. w zakładce „Templates” należy wybrać domyślny szablon przycisku (w większości przypadkach jest to szablon „Button”);
  3. w polu „Template” należy dodać sekcję #BUTTON_ATTRIBUTES# do tagu przycisku,tak jak w poniższym przykładzie;
  4. zatwierdzić zmiany.

Utworzenie przycisku

Na stronie, na której chcemy uruchomić dynamiczną akcję tworzymy przycisk o następujących parametrach :

Aby przycisk zadziałał poprawnie, należy ustawić parametr „Button Style” na ten, który zmodyfikowaliśmy wcześniej. Identyfikator przycisku musi być unikalny.

Tworzenie dynamicznej akcji

Na stronie, na której stworzyliśmy przycisk, dodajemy dynamiczną akcję o parametrach:

W polu „DOM Object” wpisujemy identyfikator wcześniej zdefiniowanego przycisku. Do dynamicznej akcji możemy dodać dowolne funkcje, które mają zostać wykonane.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *