in your add button you call setSelectedRecordA(new RecordA()) but never
notify the model that a change has occured...

2010/10/12 nino martinez wael <nino.martinez.w...@gmail.com>

> hmm getting a lot of errors on the services not implementing
> serialization...
>
> But does seem theres a difference between calling :
>
> selectedRecordAModel.getObject().getName() and
> RecordAPanel.this.selectedRecordA
>
> 2010/10/12 nino martinez wael <nino.martinez.w...@gmail.com>
>
> sorry.. Did'nt see it attached.. So did igor provide you with an fixed
>> quickstart (working on his system).. That did not work on glassfish?
>>
>>
>> 2010/10/12 Shelli Orton <shelli.or...@sjrb.ca>
>>
>>> The quickstart was sent to the list this morning at 10:04 MST.  Does it
>>> need to be resent?
>>>
>>> Shelli
>>>
>>> -----Original Message-----
>>> From: nino martinez wael [mailto:nino.martinez.w...@gmail.com]
>>> Sent: Tuesday, October 12, 2010 11:52 AM
>>> To: users@wicket.apache.org
>>> Subject: Re: PropertyModel Not Refreshing
>>>
>>> No dont think so.. Please provide a quickstart.. I have had property
>>> models
>>> working in 1.2, 1.3, 1.4 and 1.5 so must be error 42:)
>>>
>>> 2010/10/12 Shelli Orton <shelli.or...@sjrb.ca>
>>>
>>> > Hi,
>>> >
>>> > Thanks for file.  Your first email was missing these changes:
>>> >
>>> >    IModel<RecordA> selectedRecordAModel;  (I had set mine to
>>> > PropertyModel<RecordA> selectedRecordAModel;)
>>> >    recordAs.setModel(selectedRecordAModel)
>>> >
>>> > However, even with those changes applied, I still get the same issue
>>> of the
>>> > selected record not updating in the edit group.
>>> >
>>> > I am deploying in Glassfish v3.  Could that have anything to do with
>>> my
>>> > problems?
>>> >
>>> > Shelli
>>> >
>>> > -----Original Message-----
>>> > From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com]
>>> > Sent: Tuesday, October 12, 2010 11:35 AM
>>> > To: users@wicket.apache.org
>>> > Subject: Re: PropertyModel Not Refreshing
>>> >
>>> > On Tue, Oct 12, 2010 at 10:30 AM, Shelli Orton <shelli.or...@sjrb.ca>
>>> > wrote:
>>> > > Thanks for the help.  Your changes got rid of the errors and I can
>>> delete
>>> > records now (and the list is updated).
>>> > >
>>> > > However, once a record has been selected for edit and either saved
>>> or
>>> > cancelled, that same record is always displayed in the edit group when
>>> I
>>> > choose another record to edit or even when I try to create a new one.
>>> I can
>>> > even delete the chosen record and it still displays in the edit group.
>>> >
>>> > works fine here, meaning you did not completely/propery apply my
>>> > changes. below is the complete file.
>>> >
>>> > -igor
>>> >
>>> > public class RecordAPanel extends Panel
>>> > {
>>> >    private static final long serialVersionUID = 1L;
>>> >
>>> >    RecordAService recordAService;
>>> >    RecordBService recordBService;
>>> >
>>> >    RecordA selectedRecordA = new RecordA();
>>> >    IModel<RecordA> selectedRecordAModel;
>>> >    String unmodifiedRecordA;
>>> >
>>> >    boolean isNew = false;
>>> >
>>> >    WebMarkupContainer selectGroup;
>>> >    WebMarkupContainer editGroup;
>>> >
>>> >    Form selectForm;
>>> >    Form editForm;
>>> >
>>> >    DropDownChoice<RecordA> recordAs;
>>> >    DropDownChoice<RecordB> recordBs;
>>> >
>>> >    Button add;
>>> >    Button edit;
>>> >    Button save;
>>> >    Button delete;
>>> >    Button cancel;
>>> >
>>> >    Label editLegendLabel;
>>> >    String editLegend;
>>> >    Label recordALabel;
>>> >    Label recordBLabel;
>>> >
>>> >    RequiredTextField recordAText;
>>> >
>>> >    @SuppressWarnings({ "rawtypes", "unchecked" })
>>> >    public RecordAPanel(String id)
>>> >    {
>>> >        super(id);
>>> >
>>> >        recordAService = ((Application)
>>> > RequestCycle.get().getApplication()).getRecordAService();
>>> >        recordBService = ((Application)
>>> > RequestCycle.get().getApplication()).getRecordBService();
>>> >
>>> >        selectedRecordAModel = new PropertyModel<RecordA>(this,
>>> > "selectedRecordA");
>>> >        this.setDefaultModel(selectedRecordAModel);
>>> >
>>> >        // ************* Select  Group *************
>>> >
>>> >        selectGroup = new WebMarkupContainer("selectGroup");
>>> >        selectForm = new Form("selectForm");
>>> >
>>> >        recordAs = new DropDownChoice<RecordA>("recordAs");
>>> >        recordAs.setModel(selectedRecordAModel);
>>> >        recordAs.setChoices(recordAsModel);
>>> >        recordAs.setChoiceRenderer(new RecordARenderer());
>>> >
>>> >        //            recordAs = (DropDownChoice<RecordA>) new
>>> > DropDownChoice<RecordA>("recordAs",
>>> >        //                    new PropertyModel<RecordA>(this,
>>> > "selectedRecordA"),
>>> >        //                    recordAsModel,
>>> >        //                    new RecordARenderer());
>>> >
>>> >        recordAs.setNullValid(false);
>>> >
>>> >        selectForm.add(recordAs);
>>> >
>>> >        add = new Button("add")
>>> >        {
>>> >            private static final long serialVersionUID = 1L;
>>> >
>>> >            public void onSubmit()
>>> >            {
>>> >                setSelectedRecordA(new RecordA());
>>> >                isNew = true;
>>> >                editLegend = "New";
>>> >                editGroup.setVisible(true);
>>> >                selectGroup.setVisible(false);
>>> >            }
>>> >        };
>>> >
>>> >        selectForm.add(add);
>>> >
>>> >        edit = new Button("edit")
>>> >        {
>>> >            private static final long serialVersionUID = 1L;
>>> >
>>> >            public void onSubmit()
>>> >            {
>>> >                if (selectedRecordA == null)
>>> >                {
>>> >                    info("You must select a record to edit.");
>>> >                }
>>> >                else
>>> >                {
>>> >                    unmodifiedRecordA = selectedRecordA.getName();
>>> >                    isNew = false;
>>> >                    editLegend = "Edit";
>>> >                    editGroup.setVisible(true);
>>> >                    selectGroup.setVisible(false);
>>> >                }
>>> >            }
>>> >        };
>>> >
>>> >        selectForm.add(edit);
>>> >
>>> >        delete = new Button("delete")
>>> >        {
>>> >            private static final long serialVersionUID = 1L;
>>> >
>>> >            public void onSubmit()
>>> >            {
>>> >                if (selectedRecordA == null)
>>> >                {
>>> >                    info("You must select a record to delete.");
>>> >                }
>>> >                else
>>> >                {
>>> >                    // Delete the selected record
>>> >                    unmodifiedRecordA = selectedRecordA.getName();
>>> >                    recordAService.delete(selectedRecordA.getName());
>>> >                    selectedRecordA = null;
>>> >                    info("Deleted '" + unmodifiedRecordA + "'");
>>> >
>>> >                    // Force refresh of records list
>>> >                    RecordAPanel.this.recordAsModel.detach();
>>> >                }
>>> >            }
>>> >        };
>>> >
>>> >        // Add confirmation dialog box
>>> >        delete.add(new SimpleAttributeModifier("onclick",
>>> >                "if (!confirm('Please confirm you want to delete this
>>> > record') ){ return false; }"));
>>> >
>>> >        selectForm.add(delete);
>>> >        selectGroup.add(selectForm);
>>> >
>>> >        this.add(selectGroup);
>>> >
>>> >        // ************* Edit Group *************
>>> >
>>> >        editGroup = new WebMarkupContainer("editGroup");
>>> >
>>> >        editLegendLabel = new Label("editLegend", new
>>> PropertyModel(this,
>>> >                "editLegend"));
>>> >
>>> >        editGroup.add(editLegendLabel);
>>> >
>>> >        editForm = new Form("editForm");
>>> >
>>> >        recordALabel = new Label("recordALabel", "Record A");
>>> >        editForm.add(recordALabel);
>>> >
>>> >        recordBLabel = new Label("recordBLabel", "Record B");
>>> >        editForm.add(recordBLabel);
>>> >
>>> >        recordAText = new RequiredTextField("recordAText",
>>> >                new PropertyModel(selectedRecordAModel, "name"));
>>> >
>>> >        editForm.add(recordAText);
>>> >
>>> >        recordBs = new DropDownChoice<RecordB>("recordBs");
>>> >        recordBs.setModel(new PropertyModel(selectedRecordAModel,
>>> > "recordB"));
>>> >        recordBs.setChoices(RecordAPanel.this.getRecordBs());
>>> >        recordBs.setChoiceRenderer(new RecordBRenderer());
>>> >
>>> >        editForm.add(recordBs);
>>> >
>>> >        save = new Button("save")
>>> >        {
>>> >            private static final long serialVersionUID = 1L;
>>> >
>>> >            @Override
>>> >            public void onSubmit()
>>> >            {
>>> >                if (isNew)
>>> >                {
>>> >
>>> > recordAService.create(RecordAPanel.this.selectedRecordA);
>>> >                        info("Created '"
>>> >                                +
>>> > RecordAPanel.this.selectedRecordA.getName()
>>> >                                + "'");
>>> >                }
>>> >                else
>>> >                {
>>> >                        recordAService.update(unmodifiedRecordA,
>>> >                                RecordAPanel.this.selectedRecordA);
>>> >                        info("Updated '"
>>> >                                +
>>> > RecordAPanel.this.selectedRecordA.getName()
>>> >                                + "'");
>>> >                }
>>> >
>>> >                // TODO Update the dropdown list?
>>> >
>>> >                editGroup.setVisible(false);
>>> >                selectGroup.setVisible(true);
>>> >            }
>>> >        };
>>> >
>>> >        editForm.add(save);
>>> >
>>> >        cancel = new Button("cancel")
>>> >        {
>>> >            private static final long serialVersionUID = 1L;
>>> >
>>> >            public void onSubmit()
>>> >            {
>>> >                RecordAPanel.this.selectedRecordA = null;
>>> >                editGroup.setVisible(false);
>>> >                selectGroup.setVisible(true);
>>> >            }
>>> >        };
>>> >
>>> >        cancel.setDefaultFormProcessing(false);
>>> >        editForm.add(cancel);
>>> >
>>> >        editGroup.add(editForm);
>>> >
>>> >        editGroup.setVisible(false);
>>> >        this.add(editGroup);
>>> >    }
>>> >
>>> >    public RecordA getSelectedRecordA()
>>> >    {
>>> >        return selectedRecordA;
>>> >    }
>>> >
>>> >    public void setSelectedRecordA(RecordA selectedRecordA)
>>> >    {
>>> >        this.selectedRecordA = selectedRecordA;
>>> >    }
>>> >
>>> >    public LoadableDetachableModel<List<RecordA>> recordAsModel = new
>>> > LoadableDetachableModel<List<RecordA>>()
>>> >    {
>>> >        private static final long serialVersionUID = 1L;
>>> >
>>> >        @Override
>>> >        protected List<RecordA> load()
>>> >        {
>>> >            return recordAService.getList();
>>> >        }
>>> >
>>> >        public void detach()
>>> >        {
>>> >            super.detach();
>>> >        }
>>> >    };
>>> >
>>> >    // TODO change this to LDM?
>>> >    List<RecordB> getRecordBs()
>>> >    {
>>> >        return recordBService.getList();
>>> >    }
>>> >
>>> >    class RecordARenderer implements IChoiceRenderer<RecordA>
>>> >    {
>>> >        private static final long serialVersionUID = 1L;
>>> >
>>> >        public Object getDisplayValue(RecordA recordA)
>>> >        {
>>> >            return recordA.getName();
>>> >        }
>>> >
>>> >        public String getIdValue(RecordA recordA, int index)
>>> >        {
>>> >            return recordA.getName();
>>> >        }
>>> >    }
>>> >
>>> >    class RecordBRenderer implements IChoiceRenderer<RecordB>
>>> >    {
>>> >        private static final long serialVersionUID = 1L;
>>> >
>>> >        public Object getDisplayValue(RecordB recordB)
>>> >        {
>>> >            return recordB.getName();
>>> >        }
>>> >
>>> >        public String getIdValue(RecordB recordB, int index)
>>> >        {
>>> >            return recordB.getName();
>>> >        }
>>> >    }
>>> > }
>>> >
>>> > >
>>> > > Shelli
>>> > >
>>> > > -----Original Message-----
>>> > > From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com]
>>> > > Sent: Tuesday, October 12, 2010 10:38 AM
>>> > > To: users@wicket.apache.org
>>> > > Subject: Re: PropertyModel Not Refreshing
>>> > >
>>> > > here are the tweaks you need to make this work:
>>> > >
>>> > > selectedRecordAModel = new PropertyModel<RecordA>(this,
>>> > "selectedRecordA");
>>> > >
>>> > > recordAText = new RequiredTextField("recordAText",
>>> > >                new PropertyModel(selectedRecordAModel, "name"));
>>> > >
>>> > >  recordBs.setModel(new PropertyModel(selectedRecordAModel,
>>> "recordB"));
>>> > >
>>> > > have fun
>>> > >
>>> > > -igor
>>> > >
>>> > > On Tue, Oct 12, 2010 at 9:03 AM, Shelli Orton <shelli.or...@sjrb.ca>
>>> > wrote:
>>> > >> I've been able to create a sample application that exhibits the
>>> > >> same/similar problems to mine.  The sample makes use of an
>>> in-memory
>>> > >> list for the data versus accessing a database and so there's some
>>> > >> differences.  However, I believe the problems that this sample
>>> exhibits
>>> > >> have the same root cause as my project (which I believe have
>>> something
>>> > >> to do with how my models are set up...).
>>> > >>
>>> > >> Issues this sample exhibits:
>>> > >>
>>> > >> 1. Choose to edit an existing record, then cancel the edit.  Choose
>>> > >> another/the same record to edit and the selected record is null
>>> (error
>>> > >> message "You must select a record to edit" is displayed).  Must
>>> > >> close/open session to reset.
>>> > >>
>>> > >> 2. Choose to edit an existing record and save the edit.  Choose
>>> > >> another/the same record to edit and you get a NPE:
>>> > >>
>>> > >>    WicketMessage: Method onFormSubmitted of interface
>>> > >> org.apache.wicket.markup.html.form.IFormSubmitListener targeted at
>>> > >> component [MarkupContainer [Component id = selectForm]] threw an
>>> > >> exception
>>> > >>
>>> > >>    Root cause:
>>> > >>
>>> > >>    java.lang.NullPointerException
>>> > >>    at
>>> > >>
>>> org.apache.wicket.markup.html.form.AbstractSingleSelectChoice.convertCho
>>> > >> iceIdToChoice(AbstractSingleSelectChoice.java:247)
>>> > >>
>>> > >> 3. Create a new record and try to save it and get
>>> > >> WicketRuntimeException:
>>> > >>
>>> > >>    WicketMessage: Attempted to set property value on a null object.
>>> > >> Property expression: name Value: New One
>>> > >>
>>> > >>    Root cause:
>>> > >>
>>> > >>    org.apache.wicket.WicketRuntimeException: Attempted to set
>>> property
>>> > >> value on a null object. Property expression: name Value: New One
>>> > >>    at
>>> > >>
>>> org.apache.wicket.util.lang.PropertyResolver.setValue(PropertyResolver.j
>>> > >> ava:125)
>>> > >>
>>> > >> 4. Create a new record and then cancel the add, Choose an existing
>>> > >> record to edit and the selected record is null (error message "You
>>> must
>>> > >> select a record to edit" is displayed).  Must close/open session to
>>> > >> reset.
>>> > >>
>>> > >> As always, all help is greatly appreciated as I am stumped.
>>> > >>
>>> > >> Thanks,
>>> > >> Shelli
>>> > >>
>>> > >> -----Original Message-----
>>> > >> From: jcgarciam [mailto:jcgarc...@gmail.com]
>>> > >> Sent: Friday, October 08, 2010 1:41 PM
>>> > >> To: users@wicket.apache.org
>>> > >> Subject: Re: PropertyModel Not Refreshing
>>> > >>
>>> > >>
>>> > >> The attachment didn't make it,
>>> > >>
>>> > >> Can you try to extract out the relevant part and creates a
>>> quickstart
>>> > >> project that actually reproduces your issue?
>>> > >>
>>> > >>
>>> > >> On Fri, Oct 8, 2010 at 1:41 PM, Shelli Orton [via Apache Wicket] <
>>> > >>
>>> ml-node+2968688-305091622-65...@n4.nabble.com<ml-node%2b2968688-305091622-65...@n4.nabble.com>
>>> <ml-node%2B2968688-30509162
>>> 2-65...@n4.nabble.com>
>>> > <ml-node%2B2968688-30509162
>>> > >> 2-65...@n4.nabble.com>
>>> > >>> wrote:
>>> > >>
>>> > >>> Hi,
>>> > >>>
>>> > >>> I have been trying different things to see if I could get my code
>>> to
>>> > >> work
>>> > >>> (and understand Wicket models better), but am still stuck.  I have
>>> a
>>> > >>> attached the (latest) panel class code which I hope is sufficient
>>> to
>>> > >> help.
>>> > >>>
>>> > >>> I was reading about different models (both online and the Wicket
>>> in
>>> > >> Action
>>> > >>> book) and thought that perhaps using a CompoundPropertyModel was
>>> more
>>> > >>> appropriate and may help with my issues.  Originally, I only
>>> declared
>>> > >>> selectedRecordA (line 40) but didn't instantiate it.  The select
>>> group
>>> > >>> displayed properly but when I chose a record from the list and
>>> tried
>>> > >> to edit
>>> > >>> it, this exception was thrown:
>>> > >>>
>>> > >>>     WicketMessage: Attempted to set property value on a null
>>> object.
>>> > >>> Property expression: recordA Value: Name=A-One
>>> > >>>     Root cause:
>>> > >>>
>>> > >>>     org.apache.wicket.WicketRuntimeException: Attempted to set
>>> > >> property
>>> > >>> value on a null object. Property expression: recordA Value:
>>> Name=A-One
>>> > >>>         at
>>> > >>>
>>> > >>
>>> org.apache.wicket.util.lang.PropertyResolver.setValue(PropertyResolver.j
>>> > >> ava:125)
>>> > >>>
>>> > >>>         at
>>> > >>>
>>> > >>
>>> org.apache.wicket.model.AbstractPropertyModel.setObject(AbstractProperty
>>> > >> Model.java:169)
>>> > >>>
>>> > >>>         at
>>> > >>>
>>> org.apache.wicket.Component.setDefaultModelObject(Component.java:3125)
>>> > >>>         ....
>>> > >>>
>>> > >>> I set breakpoints on the getSelectedRecordA and setSelectedRecordA
>>> > >> methods,
>>> > >>> but these aren't called when during the request cycle when the
>>> edit
>>> > >> button
>>> > >>> is clicked.
>>> > >>>
>>> > >>> I then changed the class so that selectedRecordA is initialized to
>>> an
>>> > >> empty
>>> > >>> instance of RecordA. This got rid of the above error.  However, I
>>> > >> cannot
>>> > >>> save the edit changes because the selectedRecordA is still the
>>> empty
>>> > >>> instance that was created in the initialization and the
>>> persistence
>>> > >> layer
>>> > >>> throws an exception.  This same problem exists if I try to add a
>>> new
>>> > >> RecordA
>>> > >>> or try to delete an existing one.
>>> > >>>
>>> > >>> If I choose to cancel the edit and then select another record to
>>> edit,
>>> > >> I
>>> > >>> get the message "You must select a record to edit" (line 131).
>>> This
>>> > >> is
>>> > >>> because the cancel onSubmit sets selectedRecordA to null and
>>> choosing
>>> > >> the
>>> > >>> record from the DDC is not setting it to the chosen record.
>>> > >>>
>>> > >>> Clearly I am not setting up this CompoundPropertyModel properly so
>>> > >> that the
>>> > >>> selectedARecord is set by the model.  Can someone tell me what I'm
>>> > >> doing
>>> > >>> wrong?
>>> > >>>
>>> > >>> All help is greatly appreciated,
>>> > >>>
>>> > >>> Shelli
>>> > >>>
>>> > >>>
>>> > >>> -----Original Message-----
>>> > >>> From: Igor Vaynberg [mailto:[hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=0>]
>>> > >>>
>>> > >>> Sent: Thursday, October 07, 2010 11:27 AM
>>> > >>> To: [hidden email]
>>> > >> <http://user/SendEmail.jtp?type=node&node=2968688&i=1>
>>> > >>> Subject: Re: PropertyModel Not Refreshing
>>> > >>>
>>> > >>> you have posted an incomplete piece of code and somehow from that
>>> we
>>> > >>> are supposed to guess what is not working? create a quickstart and
>>> > >>> provide that.
>>> > >>>
>>> > >>> -igor
>>> > >>>
>>> > >>> On Thu, Oct 7, 2010 at 10:15 AM, Shelli Orton <[hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=2>>
>>> > >>> wrote:
>>> > >>>
>>> > >>> > Does nobody have any suggestions?  If I can't get this fixed,
>>> I'm
>>> > >> going
>>> > >>> > to have to write the app in another framework (possibly GWT) and
>>> I'd
>>> > >>> > really rather not have to do that.
>>> > >>> >
>>> > >>> > Shelli
>>> > >>> >
>>> > >>> > -----Original Message-----
>>> > >>> > From: Shelli Orton
>>> > >>> > Sent: Wednesday, October 06, 2010 3:52 PM
>>> > >>> > To: [hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=3>
>>> > >>> > Subject: PropertyModel Not Refreshing
>>> > >>> >
>>> > >>> > Hi,
>>> > >>> >
>>> > >>> > First, thanks to all who have been helping me as I am new to
>>> Wicket.
>>> > >> I
>>> > >>> > am splitting out two issues I am dealing with to try to keep
>>> things
>>> > >>> > clear.
>>> > >>> >
>>> > >>> > I am trying to write a simple app that does CRUD operations on
>>> > >> database
>>> > >>> > records.  The goal is for the app to make use of a tab panel
>>> where
>>> > >> each
>>> > >>> > tab encapsulates one table from the database.  Each tab panel
>>> has
>>> > >> two
>>> > >>> > groups (WebMarkupContainer).  The first, selectGroup, displays a
>>> > >> list
>>> > >>> > (DDC) of the current items, and three buttons, add, edit and
>>> delete.
>>> > >>> > The second, editGroup, is displayed when either the add or edit
>>> > >> button
>>> > >>> > was clicked on the select group, displays the record attributes
>>> and
>>> > >> save
>>> > >>> > and cancel buttons.  The tab panel has a "selectedRecord" which
>>> is
>>> > >> used
>>> > >>> > by both groups' components via PropertyModels. Very basic stuff.
>>> > >>> >
>>> > >>> > When I choose a record and click the edit button, the record is
>>> > >>> > displayed in the edit group properly.  If I then choose cancel,
>>> the
>>> > >> edit
>>> > >>> > group is no longer displayed and the select group DDC selection
>>> is
>>> > >> null
>>> > >>> > as expected. I then choose another record from the list and
>>> click
>>> > >> the
>>> > >>> > edit button and the previous record information is displayed in
>>> the
>>> > >> edit
>>> > >>> > group even though the select group DDC shows the
>>> correct/selected
>>> > >>> > record.
>>> > >>> >
>>> > >>> > This problem also occurs if I first choose to add a new record
>>> and
>>> > >> then
>>> > >>> > cancel the add and then choose to edit a different record.  The
>>> DDC
>>> > >>> > shows the correct/selected record, but all the attributes in the
>>> > >> edit
>>> > >>> > group are null/defaults for a new record.
>>> > >>> >
>>> > >>> > If I remove the call to setDefaultFormProcessing(false) on the
>>> > >> cancel
>>> > >>> > button, selecting other records for edit works correctly, but I
>>> > >> can't
>>> > >>> > cancel a creating a new record if I use a RequiredTextField
>>> because
>>> > >> the
>>> > >>> > form validation fails.
>>> > >>> >
>>> > >>> > If I select a record for editing or save the newly created
>>> record, I
>>> > >> can
>>> > >>> > select a different record for edit or create another one
>>> correctly.
>>> > >> So
>>> > >>> > I must be doing something wrong in the cancel logic. My editForm
>>> > >>> > (created in the EditGroup constructor) looks like this:
>>> > >>> >
>>> > >>> >            Form editForm = new Form("editForm");
>>> > >>> >
>>> > >>> >            editForm.add(new Label("nameLabel", "Name"));
>>> > >>> >
>>> > >>> >            editForm.add(new Label("attributeLabel",
>>> "Attribute"));
>>> > >>> >
>>> > >>> >            editForm.add(new
>>> > >> RequiredTextField<String>("recordNameText",
>>> > >>> >                    new PropertyModel<String>(MyRecordPanel.this,
>>> > >>> >                            "selectedRecord.name")));
>>> > >>> >
>>> > >>> >            editForm.add(new DropDownChoice<Lir>("attributes",
>>> > >>> >                    new
>>> PropertyModel<Attribute>(MyRecordPanel.this,
>>> > >>> >                            "selectedRecord.attribute"),
>>> > >>> >                    RateCentrePanel.this.getAttributes(),
>>> > >>> >                    new AttributeRenderer()));
>>> > >>> >
>>> > >>> >            ....
>>> > >>> >
>>> > >>> >            editForm.add(new Button("cancel")
>>> > >>> >            {
>>> > >>> >                private static final long serialVersionUID = 1L;
>>> > >>> >
>>> > >>> >                public void onSubmit()
>>> > >>> >                {
>>> > >>> >                    MyRecordPanel.this.selectedRecord = null;
>>> > >>> >                    editGroup.setVisible(false);
>>> > >>> >                    selectGroup.setVisible(true);
>>> > >>> >                }
>>> > >>> >            }.setDefaultFormProcessing(false));
>>> > >>> >
>>> > >>> >            add(editForm);
>>> > >>> >
>>> > >>> > Other than setting the selectedRecord to null, what should I be
>>> > >> doing
>>> > >>> > differently?
>>> > >>> >
>>> > >>> > Thanks in advance!
>>> > >>> >
>>> > >>> > Shelli
>>> > >>> >
>>> > >>> >
>>> > >>
>>> ---------------------------------------------------------------------
>>> > >>> > To unsubscribe, e-mail: [hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=4>
>>> > >>> > For additional commands, e-mail: [hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=5>
>>> > >>> >
>>> > >>> >
>>> > >>> >
>>> > >>
>>> ---------------------------------------------------------------------
>>> > >>> > To unsubscribe, e-mail: [hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=6>
>>> > >>> > For additional commands, e-mail: [hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=7>
>>> > >>> >
>>> > >>> >
>>> > >>>
>>> ---------------------------------------------------------------------
>>> > >>> To unsubscribe, e-mail: [hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=8>
>>> > >>> For additional commands, e-mail: [hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=9>
>>> > >>>
>>> > >>>
>>> > >>>
>>> > >>>
>>> > >>>
>>> ---------------------------------------------------------------------
>>> > >>> To unsubscribe, e-mail: [hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=10>
>>> > >>> For additional commands, e-mail: [hidden
>>> > >> email]<http://user/SendEmail.jtp?type=node&node=2968688&i=11>
>>> > >>>
>>> > >>> ------------------------------
>>> > >>>  View message @
>>> > >>>
>>> > >>
>>> >
>>> http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-Model-Confusio
>>> > >> n-tp2955144p2968688.html
>>> > >>> To start a new topic under Apache Wicket, email
>>> > >>>
>>> > >>
>>> ml-node+1842946-398011874-65...@n4.nabble.com<ml-node%2b1842946-398011874-65...@n4.nabble.com>
>>> <ml-node%2B1842946-39801187
>>> 4-65...@n4.nabble.com>
>>> > <ml-node%2B1842946-39801187
>>> > >> 4-65...@n4.nabble.com>
>>> > >>> To unsubscribe from Apache Wicket, click
>>> > >>
>>> here<http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp
>>> > ?
>>> > >>
>>> tpl=unsubscribe_by_code&node=1842946&code=amNnYXJjaWFtQGdtYWlsLmNvbXwxOD
>>> > >> QyOTQ2fDEyNTYxMzc3ODY=>.
>>> > >>>
>>> > >>>
>>> > >>>
>>> > >>
>>> > >>
>>> > >> --
>>> > >> Sincerely,
>>> > >> JC (http://www.linkedin.com/in/jcgarciam)
>>> > >> Work smarter, not harder!.
>>> > >>
>>> > >> --
>>> > >> View this message in context:
>>> > >>
>>> >
>>> http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-Model-Confusio
>>> > >> n-tp2955144p2968936.html
>>> > >> Sent from the Users forum mailing list archive at Nabble.com.
>>> > >>
>>> > >>
>>> ---------------------------------------------------------------------
>>> > >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> > >> For additional commands, e-mail: users-h...@wicket.apache.org
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> ---------------------------------------------------------------------
>>> > >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> > >> For additional commands, e-mail: users-h...@wicket.apache.org
>>> > >>
>>> > >
>>> > >
>>> ---------------------------------------------------------------------
>>> > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> > > For additional commands, e-mail: users-h...@wicket.apache.org
>>> > >
>>> > >
>>> > >
>>> ---------------------------------------------------------------------
>>> > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> > > For additional commands, e-mail: users-h...@wicket.apache.org
>>> > >
>>> > >
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> > For additional commands, e-mail: users-h...@wicket.apache.org
>>> >
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> > For additional commands, e-mail: users-h...@wicket.apache.org
>>> >
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>
>

Reply via email to