DropDown List

0

Witam !!

Mam następujący problem. Chcę pobrać konkretne dane z bazy danych i włożyć je do komponentu DropDown List (tworzę stronę w technologii JSF). Same wypełnienie stringami nie jest problemem, chciałbym jednak ukryć gdzieś ID każdego rekordu, tak, że po wybraniu konkretnej pozycji z listy, mieć dostęp do ID rekordu z nią związanego.

0

a nie wystarczy dodac toString() dla danego obiektu? wtedy pobierając z listy masz pełen obiekt (a wyświetlany jest za pomocą standardowej toString())

0

:) no tak - proste i piękne dzięki !

0

Witam ! Udało mi się zapełnić własnymi obiektami komponent DropDown List. Teraz pojawił się nowy problem... Mianowicie chciałbym wyciągnąć dane o obiektach zawartych na liście (np. przekazać je do klasy zarządzającej zapytaniami do bazy danych (np klikamy miasto KATOWICE - i wyciągamy cały obiekt związany z tą pozycją na liście... Poniżej przykład mojej klasy wypełniającej obiektami DDAdres komponent DropDown List

public class FillManager {
    
    DDAdres ddAdres; // moj obiekt ktorym chce zapelnic DropDown List
    DbSource dbSource; // klasa zarzadzajaca polaczeniem z baza
    SelectItem[] ddAdresTab = new SelectItem[3]; // na szybko statyczna tablica na 3 elementy
    private Connection conn; 
    public SelectItem[] getAll() throws SQLException, NamingException{
        try{
            int i=0;
            System.out.println("probkuje zapytanie");
            dbSource = new DbSource();
            conn = dbSource.getConnection();
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * from public.adres");
            while(rs.next()){
                ddAdres = new DDAdres();
                ddAdres.setMiejscowosc(rs.getString("miejscowosc"));
                ddAdres.setUlica(rs.getString("ulica"));
                ddAdres.setLabel(rs.getString("miejscowosc"));
                ddAdresTab[i] = ddAdres;
                i++;
            }
            return ddAdresTab;
        }finally{
            conn.close();
        }
    }
    
    /** Creates a new instance of FillManager */
    public FillManager() {
    }
}

... a tutaj kod strony JSP wraz z wypełnieniem znacznika. Chodzi mi o to, w którym miejscu wyciągnąć dane o obiekcie i wcisnąć w metodę SET innej klasy (albo np wyświetlić w OutputText itp itd)

<h:selectOneMenu id="dropdown7" style="left: 149px; top: 132px; position: absolute; width: 139px">
    <f:selectItems id="dropdown7SelectItems" value="#{FillManager.all}"/>
</h:selectOneMenu>

</u>

Z góry dzięki za pomoc !

1 użytkowników online, w tym zalogowanych: 0, gości: 1