You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Me...@t-systems.com on 2010/10/26 11:55:25 UTC

problem with Dropdown List

Hello,

I have a problem with dropdown list.
Even if I select values in the Dropdown list (see picture below), the member variable docType is always null .
Unfortunately I have found no error. I hope you can see why this is.
Best regards, Mehmet



//################## class DocSearchPage ######################################
...
public class DocSearchPage extends MainTemplate
{
        private TDokar docType;
        ...
        public DocSearchPage()
        {
                add(getDocTypeDropDown("docType"));
                ...
                add(executeLink("execute"));
        }

        private TDokarDocTypeDropDownChoice getDocTypeDropDown(String id)
        {
                return new TDokarDocTypeDropDownChoice(id)
                {
                        @Override
                        protected List<TDokar> getTDokarList()
                        {
                                return getDocTypeList();
                        }

                        @Override
                        protected TDokar getTDokar()
                        {
                                return docType;
                        }

                        @Override
                        protected void setTDokar(TDokar dokart)
                        {
                                dokar = docType;
                        }
                };
        }

        private Link executeLink(String id)
        {
                return new Link(id)
                {
                        @Override
                        public void onClick()
                        {
                                disItemList = session().getUser().getUserDao().searchDIS(docType.getDokar(), ..);       //docType is null
                        }
                };
        }

}

//######################## end DocSearchPage ####################################



############################## class TDokarDocTypeDropDownChoice  #########
package de.t_systems.dks.eba.pages.docsearch;

import de.t_systems.dks.eba.beans.basedata.TDokar;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;

import java.util.List;

public abstract class TDokarDocTypeDropDownChoice extends DropDownChoice
{

        public TDokarDocTypeDropDownChoice(String id)
        {
                super(id);
                setModel(model());
                setChoices(getTDokarList());
                setChoiceRenderer(RENDERER);
        }

        private IModel model()
        {
                return new Model()
                {
                        @Override
                        public Object getObject()
                        {
                                return getTDokar();
                        }

                        @Override
                        public void setObject(Object object)
                        {
                                setTDokar((TDokar) object);
                        }
                };
        }

        private static final IChoiceRenderer RENDERER = new IChoiceRenderer()
        {
                @Override
                public Object getDisplayValue(final Object object)
                {
                        TDokar dokar = (TDokar) object;
                        return dokar.getDokar();
                }

                @Override
                public String getIdValue(final Object object, final int index)
                {
                        return ((TDokar) object).getDokar();
                }
        };

        protected abstract TDokar getTDokar();
        protected abstract void setTDokar(TDokar tDokar);
        protected abstract List<TDokar> getTDokarList();
}


############################## TDokarDocTypeDropDownChoice  #############''''''''''''''''''



Re: problem with Dropdown List

Posted by Pedro Santos <pe...@gmail.com>.
If you are not submitting an form to send the selected TDokar from browser
to server, you can add an AjaxFormChoiceComponentUpdatingBehavior at
TDokarDocTypeDropDownChoice. Than when the user click the executeLink, the
selected TDokar will be at the DocSearchPage field.

On Tue, Oct 26, 2010 at 8:58 AM, <Me...@t-systems.com> wrote:

> sorry, in my Email is the folow method incorrect:
>                        @Override
>                        protected void setTDokar(TDokar dokart)
>                        {
>                                dokar = docType;
>                        }
>
> in source cod is in code looks like this:
>                         @Override
>                        protected void setTDokar(TDokar dokart)
>                        {
>                                 docType = dokart;
>                        }
>
> docType is still null.
>
> -----Ursprüngliche Nachricht-----
> Von: Pedro Santos [mailto:pedrosans@gmail.com]
> Gesendet: Dienstag, 26. Oktober 2010 12:37
> An: users@wicket.apache.org
> Betreff: Re: problem with Dropdown List
>
> Hi Mehmet, I think you need change this line:
>
>                        @Override
>                        protected void setTDokar(TDokar dokart)
>                        {
>                                dokar = *docType*; -->
> DocSearchPage.this.*docType
> *=* *dokart;
>                        }
>
> anyway, why are you delegating the set/get model calls to
> TDokarDocTypeDropDownChoice ? Won't be interest only use the parameter model
> to maintain the TDokar?
>
> On Tue, Oct 26, 2010 at 7:55 AM, <Me...@t-systems.com> wrote:
>
> >  Hello,
> > I have a problem with dropdown list.
> > Even if I select values in the Dropdown list (see picture below), the
> > member variable *docType* is always null .
> > Unfortunately I have found no error. I hope you can see why this is.
> > Best regards, Mehmet
> >
> >
> > //################## class DocSearchPage
> > ######################################
> > ...
> > public class DocSearchPage extends MainTemplate {
> >         private TDokar *docType*;
> >         ...
> >         public DocSearchPage()
> >         {
> >                 add(*getDocTypeDropDown*("docType"));
> >                 ...
> >                 add(executeLink("execute"));
> >         }
> >
> >         private *TDokarDocTypeDropDownChoice*
> > *getDocTypeDropDown*(String
> > id)
> >         {
> >                 return new TDokarDocTypeDropDownChoice(id)
> >                 {
> >                         @Override
> >                         protected List<TDokar> getTDokarList()
> >                         {
> >                                 return getDocTypeList();
> >                         }
> >
> >                         @Override
> >                         protected TDokar getTDokar()
> >                         {
> >                                 return *docType*;
> >                         }
> >
> >                         @Override
> >                         protected void setTDokar(TDokar dokart)
> >                         {
> >                                 dokar = *docType*;
> >                         }
> >                 };
> >         }
> >
> >         private Link executeLink(String id)
> >         {
> >                 return new Link(id)
> >                 {
> >                         @Override
> >                         public void onClick()
> >                         {
> >                                 disItemList =
> > session().getUser().getUserDao().searchDIS(*docType*.getDokar(),
> > ..);        *//docType** **is null*
> >                         }
> >                 };
> >         }
> >
> > }
> >
> > //######################## end DocSearchPage
> > ####################################
> >
> >
> >
> > ############################## class TDokarDocTypeDropDownChoice
> > ######### package de.t_systems.dks.eba.pages.docsearch;
> >
> > import de.t_systems.dks.eba.beans.basedata.TDokar;
> > import org.apache.wicket.markup.html.form.DropDownChoice;
> > import org.apache.wicket.markup.html.form.IChoiceRenderer;
> > import org.apache.wicket.model.IModel; import
> > org.apache.wicket.model.Model;
> >
> > import java.util.List;
> >
> > public abstract class TDokarDocTypeDropDownChoice extends
> > DropDownChoice {
> >
> >         public TDokarDocTypeDropDownChoice(String id)
> >         {
> >                 super(id);
> >                 setModel(model());
> >                 setChoices(getTDokarList());
> >                 setChoiceRenderer(RENDERER);
> >         }
> >
> >         private IModel model()
> >         {
> >                 return new Model()
> >                 {
> >                         @Override
> >                         public Object getObject()
> >                         {
> >                                 return getTDokar();
> >                         }
> >
> >                         @Override
> >                         public void setObject(Object object)
> >                         {
> >                                 setTDokar((TDokar) object);
> >                         }
> >                 };
> >         }
> >
> >         private static final IChoiceRenderer RENDERER = new
> > IChoiceRenderer()
> >         {
> >                 @Override
> >                 public Object getDisplayValue(final Object object)
> >                 {
> >                         TDokar dokar = (TDokar) object;
> >                         return dokar.getDokar();
> >                 }
> >
> >                 @Override
> >                 public String getIdValue(final Object object, final
> > int
> > index)
> >                 {
> >                         return ((TDokar) object).getDokar();
> >                 }
> >         };
> >
> >         protected abstract TDokar getTDokar();
> >         protected abstract void setTDokar(TDokar tDokar);
> >         protected abstract List<TDokar> getTDokarList(); }
> >
> >
> > ############################## TDokarDocTypeDropDownChoice
> > #############''''''''''''''''''
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org
> >
>
>
>
> --
> Pedro Henrique Oliveira dos Santos
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>


-- 
Pedro Henrique Oliveira dos Santos

AW: problem with Dropdown List

Posted by Me...@t-systems.com.
sorry, in my Email is the folow method incorrect:
                       @Override
                        protected void setTDokar(TDokar dokart)
                        {
                                dokar = docType;
                        }

in source cod is in code looks like this:
                        @Override 
                        protected void setTDokar(TDokar dokart)
                        {
                                docType = dokart;
                        }

docType is still null. 

-----Ursprüngliche Nachricht-----
Von: Pedro Santos [mailto:pedrosans@gmail.com] 
Gesendet: Dienstag, 26. Oktober 2010 12:37
An: users@wicket.apache.org
Betreff: Re: problem with Dropdown List

Hi Mehmet, I think you need change this line:

                        @Override
                        protected void setTDokar(TDokar dokart)
                        {
                                dokar = *docType*; --> DocSearchPage.this.*docType
*=* *dokart;
                        }

anyway, why are you delegating the set/get model calls to TDokarDocTypeDropDownChoice ? Won't be interest only use the parameter model to maintain the TDokar?

On Tue, Oct 26, 2010 at 7:55 AM, <Me...@t-systems.com> wrote:

>  Hello,
> I have a problem with dropdown list.
> Even if I select values in the Dropdown list (see picture below), the 
> member variable *docType* is always null .
> Unfortunately I have found no error. I hope you can see why this is.
> Best regards, Mehmet
>
>
> //################## class DocSearchPage 
> ######################################
> ...
> public class DocSearchPage extends MainTemplate {
>         private TDokar *docType*;
>         ...
>         public DocSearchPage()
>         {
>                 add(*getDocTypeDropDown*("docType"));
>                 ...
>                 add(executeLink("execute"));
>         }
>
>         private *TDokarDocTypeDropDownChoice* 
> *getDocTypeDropDown*(String
> id)
>         {
>                 return new TDokarDocTypeDropDownChoice(id)
>                 {
>                         @Override
>                         protected List<TDokar> getTDokarList()
>                         {
>                                 return getDocTypeList();
>                         }
>
>                         @Override
>                         protected TDokar getTDokar()
>                         {
>                                 return *docType*;
>                         }
>
>                         @Override
>                         protected void setTDokar(TDokar dokart)
>                         {
>                                 dokar = *docType*;
>                         }
>                 };
>         }
>
>         private Link executeLink(String id)
>         {
>                 return new Link(id)
>                 {
>                         @Override
>                         public void onClick()
>                         {
>                                 disItemList = 
> session().getUser().getUserDao().searchDIS(*docType*.getDokar(),
> ..);        *//docType** **is null*
>                         }
>                 };
>         }
>
> }
>
> //######################## end DocSearchPage 
> ####################################
>
>
>
> ############################## class TDokarDocTypeDropDownChoice  
> ######### package de.t_systems.dks.eba.pages.docsearch;
>
> import de.t_systems.dks.eba.beans.basedata.TDokar;
> import org.apache.wicket.markup.html.form.DropDownChoice;
> import org.apache.wicket.markup.html.form.IChoiceRenderer;
> import org.apache.wicket.model.IModel; import 
> org.apache.wicket.model.Model;
>
> import java.util.List;
>
> public abstract class TDokarDocTypeDropDownChoice extends 
> DropDownChoice {
>
>         public TDokarDocTypeDropDownChoice(String id)
>         {
>                 super(id);
>                 setModel(model());
>                 setChoices(getTDokarList());
>                 setChoiceRenderer(RENDERER);
>         }
>
>         private IModel model()
>         {
>                 return new Model()
>                 {
>                         @Override
>                         public Object getObject()
>                         {
>                                 return getTDokar();
>                         }
>
>                         @Override
>                         public void setObject(Object object)
>                         {
>                                 setTDokar((TDokar) object);
>                         }
>                 };
>         }
>
>         private static final IChoiceRenderer RENDERER = new
> IChoiceRenderer()
>         {
>                 @Override
>                 public Object getDisplayValue(final Object object)
>                 {
>                         TDokar dokar = (TDokar) object;
>                         return dokar.getDokar();
>                 }
>
>                 @Override
>                 public String getIdValue(final Object object, final 
> int
> index)
>                 {
>                         return ((TDokar) object).getDokar();
>                 }
>         };
>
>         protected abstract TDokar getTDokar();
>         protected abstract void setTDokar(TDokar tDokar);
>         protected abstract List<TDokar> getTDokarList(); }
>
>
> ############################## TDokarDocTypeDropDownChoice
> #############''''''''''''''''''
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>



-- 
Pedro Henrique Oliveira dos Santos

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: problem with Dropdown List

Posted by Pedro Santos <pe...@gmail.com>.
Hi Mehmet, I think you need change this line:

                        @Override
                        protected void setTDokar(TDokar dokart)
                        {
                                dokar = *docType*; -->
DocSearchPage.this.*docType
*=* *dokart;
                        }

anyway, why are you delegating the set/get model calls to
TDokarDocTypeDropDownChoice
? Won't be interest only use the parameter model to maintain the TDokar?

On Tue, Oct 26, 2010 at 7:55 AM, <Me...@t-systems.com> wrote:

>  Hello,
> I have a problem with dropdown list.
> Even if I select values in the Dropdown list (see picture below), the
> member variable *docType* is always null .
> Unfortunately I have found no error. I hope you can see why this is.
> Best regards, Mehmet
>
>
> //################## class DocSearchPage
> ######################################
> ...
> public class DocSearchPage extends MainTemplate
> {
>         private TDokar *docType*;
>         ...
>         public DocSearchPage()
>         {
>                 add(*getDocTypeDropDown*("docType"));
>                 ...
>                 add(executeLink("execute"));
>         }
>
>         private *TDokarDocTypeDropDownChoice* *getDocTypeDropDown*(String
> id)
>         {
>                 return new TDokarDocTypeDropDownChoice(id)
>                 {
>                         @Override
>                         protected List<TDokar> getTDokarList()
>                         {
>                                 return getDocTypeList();
>                         }
>
>                         @Override
>                         protected TDokar getTDokar()
>                         {
>                                 return *docType*;
>                         }
>
>                         @Override
>                         protected void setTDokar(TDokar dokart)
>                         {
>                                 dokar = *docType*;
>                         }
>                 };
>         }
>
>         private Link executeLink(String id)
>         {
>                 return new Link(id)
>                 {
>                         @Override
>                         public void onClick()
>                         {
>                                 disItemList =
> session().getUser().getUserDao().searchDIS(*docType*.getDokar(),
> ..);        *//docType** **is null*
>                         }
>                 };
>         }
>
> }
>
> //######################## end DocSearchPage
> ####################################
>
>
>
> ############################## class TDokarDocTypeDropDownChoice  #########
> package de.t_systems.dks.eba.pages.docsearch;
>
> import de.t_systems.dks.eba.beans.basedata.TDokar;
> import org.apache.wicket.markup.html.form.DropDownChoice;
> import org.apache.wicket.markup.html.form.IChoiceRenderer;
> import org.apache.wicket.model.IModel;
> import org.apache.wicket.model.Model;
>
> import java.util.List;
>
> public abstract class TDokarDocTypeDropDownChoice extends DropDownChoice
> {
>
>         public TDokarDocTypeDropDownChoice(String id)
>         {
>                 super(id);
>                 setModel(model());
>                 setChoices(getTDokarList());
>                 setChoiceRenderer(RENDERER);
>         }
>
>         private IModel model()
>         {
>                 return new Model()
>                 {
>                         @Override
>                         public Object getObject()
>                         {
>                                 return getTDokar();
>                         }
>
>                         @Override
>                         public void setObject(Object object)
>                         {
>                                 setTDokar((TDokar) object);
>                         }
>                 };
>         }
>
>         private static final IChoiceRenderer RENDERER = new
> IChoiceRenderer()
>         {
>                 @Override
>                 public Object getDisplayValue(final Object object)
>                 {
>                         TDokar dokar = (TDokar) object;
>                         return dokar.getDokar();
>                 }
>
>                 @Override
>                 public String getIdValue(final Object object, final int
> index)
>                 {
>                         return ((TDokar) object).getDokar();
>                 }
>         };
>
>         protected abstract TDokar getTDokar();
>         protected abstract void setTDokar(TDokar tDokar);
>         protected abstract List<TDokar> getTDokarList();
> }
>
>
> ############################## TDokarDocTypeDropDownChoice
> #############''''''''''''''''''
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>



-- 
Pedro Henrique Oliveira dos Santos

Re: problem with Dropdown List

Posted by vov <vo...@mail.ru>.
Hello,
Add your DDC to form and use SubmitLink instead Link.
HTH

<form wicket:id=form>
  <select wicket:id=docType />
   [click me] 
  </form>

Form<Void> form = new Form<Void>("form");
    add(form);
    form.add(getDocTypeDropDown("docType"));
    form.add(executeLink("execute"));

private SubmitLink executeLink(String id)
  {
    return new SubmitLink(id)
    {
      @Override
      public void onSubmit()
      {
        System.out.println(docType.getDokar());
      }
    };
  }


-- 
View this message in context: http://apache-wicket.1842946.n4.nabble.com/problem-with-Dropdown-List-tp3013404p3014954.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org