sorry dudu, i am new to wicket as well, 
have you came across this link yet? 
http://cwiki.apache.org/WICKET/dropdownchoice-examples.html

if not give it a shot


Mathias P.W Nilsson wrote:
> 
> <html>
>     <head>
>         <title>Wicket Quickstart Archetype Homepage</title>
>     </head>
>     <body>
>     
>       <form wicket:id="loginForm">
>       
>         <strong>Wicket Quickstart Archetype Homepage</strong>
>         <br/><br/>
>         message will be here
>       
>       <select wicket:id="category" name="category">
>                       <option>Some Person</option>
>               <option>Some Other Person</option>
>         </select>
> 
>       <input type="submit" wicket:id="Submit">
>       </form>
>     </body>
> </html>
> 
> 
> ===================================
> CODE
> ===================================
> package se.boardstore.model;
> 
> import java.io.Serializable;
> import java.util.ArrayList;
> import java.util.List;
> 
> import se.boardstore.entities.store.Store;
> 
> public class Category implements Serializable{
>       
>       private Long id;
>       private String identifier;
>       private Long sortOrder;
>       private String name;
>       private String shortDescription;
>       private String longDescription;
>       private Store store;
>       private Long cachedBalance;
>       private List<Category> categories = new ArrayList<Category>();
>       
>       public Category(){
>               
>       }
> 
>       public String getIdentifier() {
>               return identifier;
>       }
> 
>       public void setIdentifier(String identifier) {
>               this.identifier = identifier;
>       }
> 
>       public Long getSortOrder() {
>               return sortOrder;
>       }
> 
>       public void setSortOrder(Long sortOrder) {
>               this.sortOrder = sortOrder;
>       }
> 
>       public Long getId() {
>               return id;
>       }
>       
>       public String toString(){
>               StringBuffer buffer = new StringBuffer();
>               buffer.append( "[Id: " + id + "]"  );
>               buffer.append( "[Identifier: " + identifier + "]"  );
>               buffer.append( "[Sortorder: " + sortOrder + "]"  );
>               
>               return buffer.toString();
>       }
> 
> 
>       public String getName() {
>               return name;
>       }
> 
> 
>       public void setName(String name) {
>               this.name = name;
>       }
> 
> 
>       public String getShortDescription() {
>               return shortDescription;
>       }
> 
> 
>       public void setShortDescription(String shortDescription) {
>               this.shortDescription = shortDescription;
>       }
> 
> 
>       public String getLongDescription() {
>               return longDescription;
>       }
> 
> 
>       public void setLongDescription(String longDescription) {
>               this.longDescription = longDescription;
>       }
> 
> 
>       public Store getStore() {
>               return store;
>       }
> 
> 
>       public void setStore(Store store) {
>               this.store = store;
>       }
> 
> 
>       public List<Category> getCategories() {
>               return categories;
>       }
> 
> 
>       public void setId(Long id) {
>               this.id = id;
>       }
> 
>       public Long getCachedBalance() {
>               return cachedBalance;
>       }
> 
>       public void setCachedBalance(Long cachedBalance) {
>               this.cachedBalance = cachedBalance;
>       }
>       
>       public void addCategory( Category category ){
>               this.categories.add( category );
>       }
>       
> }
> 
> 
> ============================================
> CODE
> =============================================
> 
> 
> package se.edgesoft;
> 
> import java.io.Serializable;
> import java.util.List;
> 
> import org.apache.wicket.PageParameters;
> import org.apache.wicket.extensions.markup.html.form.select.SelectOption;
> import org.apache.wicket.markup.html.WebPage;
> import org.apache.wicket.markup.html.basic.Label;
> import org.apache.wicket.markup.html.form.Button;
> import org.apache.wicket.markup.html.form.DropDownChoice;
> import org.apache.wicket.markup.html.form.Form;
> import org.apache.wicket.markup.html.form.IChoiceRenderer;
> import org.apache.wicket.markup.html.list.ListItem;
> import org.apache.wicket.markup.html.list.ListView;
> import org.apache.wicket.model.LoadableDetachableModel;
> import org.apache.wicket.model.PropertyModel;
> import org.apache.wicket.spring.injection.annot.SpringBean;
> 
> import se.boardstore.dao.CategoryDAO;
> 
> 
> /**
>  * Homepage
>  */
> public class HomePage extends WebPage {
> 
>       private static final long serialVersionUID = 1L;
>       @SpringBean(name="categoryDao")
>       private CategoryDAO categoryDAO;
>     List<se.boardstore.model.Category> categories;
>     public HomePage(final PageParameters parameters) {
>       
>         Form form = new LoginForm( "loginForm" );
>           add(form);
> 
>         form.add(new Label("message", "If you see this message wicket is
> properly configured and running"));
>         
>         categories =
> categoryDAO.getProxiedCategories(se.boardstore.entities.store.Store.EDDYEMERY_EU);
>               
>         DropDownChoice ddc = 
>             new DropDownChoice(
>                       "category", 
>                     new PropertyModel( new se.boardstore.model.Category(),
> "name"),
>                     new LoadableDetachableModel() {
>                                               private static final long 
> serialVersionUID = 1L;
> 
>                                               @Override
>                         protected Object load() { 
>                             return HomePage.this.categories;
>                         }
>                         
>                         
>                     },new TestChoiceRenderer()
>                 ){
>                                       private static final long 
> serialVersionUID = 1L;
> 
>                       protected boolean wantOnSelectionChangedNotifications() 
> {
>                 return true;
>             }
> 
>             /**
>              * Called when a option is selected of a dropdown list that
> wants to be
>              * notified of this event.
>              *
>              * @param newSelection The newly selected object of the
> backing model
>              */
>             protected void onSelectionChanged(Object newSelection) {
>               
>               System.out.println( newSelection.getClass() );
>               
>               //se.boardstore.model.Category category =
> (se.boardstore.model.Category) newSelection;
>               //System.out.println( category.getName() );
>             }
>         };
> 
>         form.add( ddc );
>         
>     
> 
>         Button submit = new Button( "Submit" );
>         form.add( submit );
>         
>         
>     }
> 
>     class LoginForm extends Form{
>       
>       public LoginForm( String identifier ){
>               super( identifier );
>       }
>       
>       public void onSubmit(){
>               System.out.println( "JEpp" );
>               AutoCompletePage p = new AutoCompletePage( new 
> PageParameters());
>               setResponsePage( p  );
>       }
>     }
>     
>     class TestChoiceRenderer implements IChoiceRenderer {
> 
>         public Object getDisplayValue(Object object) {
>             // I don't know if it can be anything other...??
>             if (object instanceof se.boardstore.model.Category) {
>               se.boardstore.model.Category so =
> (se.boardstore.model.Category) object;
>                 
>               
>               return so.getName();
>             }
>             return null;
>         }
> 
>         public String getIdValue(Object key, int index) {
>             // I don't know if it can be anything other...??
>             if (key instanceof se.boardstore.model.Category) {
>               se.boardstore.model.Category selectOption =
> (se.boardstore.model.Category) key;
>                 return selectOption.getId().toString();
>                 
>             }
>             return null;
>         }
>         
>     }
> 
> }
> 
> 

-- 
View this message in context: 
http://www.nabble.com/DropDownChoice-problem-tp15095051p15097014.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to