Temat: Problem

Witam!

Mam formularz TabularForm, w którym dopuszczam zmianę wartości dwóch kolumn. Wartości dopuszczalne generowane są za pomocą dynamicznej listy LOV.

Problem polega na tym, że chciałabym ograniczyć dodatkowo listę lov dla drugiego pola wartością pola pierwszego bez submitowania strony (zapisu danych do bazy).
Czyli rozwijam sobie lov1, wybieram wartość1, a gdy rozwijam lov2 pokazują mi się tylko te wartości, które są powiązane na bazie z wartość1.
Jak dotrzeć do tej wartości z wiersza, jeżeli nie mamy Item'a, a wartość nie została jeszcze zapisana do tabeli?

Pozdrawiam,
Karolina

konto usunięte

Temat: Problem

Cześć, jeżeli dobrze zrozumiałem to chcesz po prostu uzależnić wartości na drugiej liście w po wybraniu elementu z pierwszej ?

W LOV2 musisz w definicji (tam gdzie wpisujesz zapytanie sql) sparametryzować te zapytanie wartością jakiegoś Itemu z tej stronki, który przechowuje wartość wybranego elementu z LOV1.
Czyli : AND nazwa_kolumny = :P1_ITEM
No i chyba np w przypadu Select Listy musisz wybrać Display As SelectListw with Submit.

Temat: Problem

Niestety, gdyby to było takie łatwe...
Te dwa LOVy mam w tabular formsie, którego definiuję dynamicznie.
Dla każdego wiersza mam przyporządkowane po dwie takie listy.
Problem polega na tym, że nie umiem pobrać wartości z jednej z nich, jeżeli nie pochodzi ta wartość z tabeli (czyli użytkownik dopiero co ją wprowadził i nie zatwierdził formularza).
Pierwsza lista nie jest itemem więc nie ma swojej nazwy typu :P_X.
Dlatego nie mogę w ten sposób wykorzystać warunku WHERE w definicji LOV2.

Z tego co się orientuję tabular forms tworzony jest na podstawie kolekcji. Umiem zrobić taki formularz ręcznie lecz nie wiem jak zamiast pola tekstowego użyć LOV.

Myślałam, że jakoś można obejść to i istnieje odnośnik do pola w tabular form dla tego wiersza w danej kolumnie :/

konto usunięte

Temat: Problem

Szczerze to nie wiem czy się da - bo nie wiem kiedy jest wypełniana - ale można spróbować z APEX_Application.g_fxx - jest to kolekcja która zawiera wartości z po fxx - na pewno da się na tym zrobić walidację nie wiem czy się będzie dało zrobić zawężanie lova.

Temat: Problem

Dzięki za pomysł.
Próbowałam pobrać wartość z pola w sposób w jaki tworzy się kolekcję:
'f09_'||'#ROWNUM#'

tylko jak wskazać mu, który to wiersz?
Suma sumarum tak to nie działa.
Będę próbowała według Twojej sugestii.

Pozdrawiam.

Temat: Problem

Problem rozwiązany!

konto usunięte

Temat: Problem

Karolina Wielgołaska:
Problem rozwiązany!
A możesz się podzielić dal potomności czy został już opatentowany ?

Temat: Problem

Problem rozwiązałam inaczej. W ręcznym tabular form umieściłam link, za pomoca którego uzytkownik zostaje przeniesiony na stronę do zmiany obu wartości z listy lov. W ten sposób wybór z 1 listy lov ogranicza wybor 2 listy lov.

1. Za pomoca funkcji java umieszczonej na stronie wypełniam id w polu ukrytym na tej stronie
--w definicji strony:
function rewriteUserId(e) {
$("#2_EDIT_USER_ID").val($(e).attr("id"));
}
--w ręcznym tabular form w deklaracji kolumny:
'<a href="#:P200_uzytkownik:'||c001||'" class="popup" id="'||c001||'" onclick="javascript:rewriteUserId(this)"
>Zmień</a>' AS "link"
--w dynamic actions:
event: Click
Selector type: jQuery Selector
jQuery Selector: .popup

a w akcji wywołanej submitowałam stronę

2. Dynamic action, po wypełnieniu pola ukrytego przenosi nas na druga strone - ta docelowa

I tyle, wazne że działa, trochę pokrętnie ale jednak :)

Strasznie duzo czasu i nerwow stracilam na znalezienie ładniejszego rozwiazania ale niestety :/
Elżbieta Deryła

Elżbieta Deryła Analityk \
Programista

Temat: Problem

Witam,
Mam problem z wywołaniem za pomocą url procedury bazodanowej ale w taki sposób aby focus pozostał na danej stronie aplikacji - mój link wykonuje wywołanie funkcji ale nie zapewnia przeładowania strony z której jest wywołany
- prośba o pomoc
dziękuje
http://localhost:8080/apex/user.TESTOWY.TEST?p1=#ID#&p...
Paweł Broda

Paweł Broda Software Engineer

Temat: Problem

Elżbieta D.:
Witam,
Mam problem z wywołaniem za pomocą url procedury bazodanowej ale w taki sposób aby focus pozostał na danej stronie aplikacji - mój link wykonuje wywołanie funkcji ale nie zapewnia przeładowania strony z której jest wywołany
- prośba o pomoc
dziękuje
http://localhost:8080/apex/user.TESTOWY.TEST?p1=#ID#&p...

Na pewno pomocne może być zamieszczenie przykładu gdzieś poza localhostem :)

I nie rozumiem pytania - strona ma zostać ta sama czy ma być przeładowana?

Może apex.server.process pomoże? Tylko, z tego co pamiętam, to trzeba sobie tu najpierw podpiąć kod pl/sql pod wywołanie JS.

Następna dyskusja:

Młodszy partner-problem?




Wyślij zaproszenie do