Awesome! Thanks for the help.

Regards,
Linda

John Krasnay wrote:
The problem is the CompoundPropertyModel continues to point to the
original Book object. You would have to get rid of the
CompoundPropertyModel and give each FormComponent its own model that is
tolerant to changes to the book member. Something like this would work:

add(new TextField("title", new PropertyModel(this, "book.title")));

jk

On Thu, Aug 13, 2009 at 09:15:50AM +0200, Linda van der Pal wrote:
Well the model doesn't update. (Not that I'd expect it to.)

Here's some pieces of my code I deem relevant to the problem.


if (key == null || key.getIsbn() == null) {
   book = new Book();
} else {
   book = bookRetriever.getBook(key.getIsbn(), key.getCollectionId());
}
setDefaultModel(new CompoundPropertyModel<Book>(book));

// ...

isbnField.add(new AjaxFormComponentUpdatingBehavior("onchange") {
   private static final long serialVersionUID = 1L;

   @Override
   protected void onUpdate(final AjaxRequestTarget target) {
       try {
           book = bookRetriever.getBook(isbnField.getInput());
           modelChanged();
target.addComponent(titleField);
           //...
           target.addComponent(genrefield);
       } catch (SQLException e) {
           //...
       }
   }
});

John Krasnay wrote:
Sounds like you're on the right track. What's the problem?

jk

On Wed, Aug 12, 2009 at 04:27:41PM +0200, Linda van der Pal wrote:
I have a panel with a form. This form has several fields, one of which is the ISBN of a book. The fields are filled by a CompoundPropertyModel if the user is editing his previous entry, and they are empty if the user is adding a new book. Simply entering data or updating it and then submitting already works. But now I want to fetch the data for the other fields if the ISBN is already in the database. It is a multi-user system, so it is in fact possible that the ISBN is already in there.

I was thinking of achieving this with AJAX, but I'm not really sure how to do it. I was thinking of adding an AjaxFormComponentUpdatingBeavior, where all the related fields are added to the target. But as the ISBN is part of the model, I don't really now how to get this working. Any hints on what direction I should be searching in?

Regards,
Linda

---------------------------------------------------------------------
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
------------------------------------------------------------------------


No virus found in this incoming message.
Checked by AVG - www.avg.com Version: 8.5.392 / Virus Database: 270.13.53/2299 - Release Date: 08/12/09 18:12:00

---------------------------------------------------------------------
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
------------------------------------------------------------------------


No virus found in this incoming message.
Checked by AVG - www.avg.com Version: 8.5.392 / Virus Database: 270.13.54/2300 - Release Date: 08/13/09 06:11:00



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

Reply via email to