Does that mean what I am trying to do is not suited for CompoundPropertyModel?
:) Can you point me to some documentation that might help me understand it
better?
-Original Message-
From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com]
Sent: Thursday, June 25, 2009 11:22 AM
To: users@wicket.apache.org
Subject: Re: CompoundPropertyModel and nested DataView
if you are a newbie do not use CPM it is a shortcut model more suited
for users who know and understand models well.
-igor
On Wed, Jun 24, 2009 at 5:35 PM, Hubbard, Bobby wrote:
> I am a Wicket newbie and am currently struggling with
> CompoundPropertyModel. I have found a lot on the list about
> CompoundPropertyModel but not regarding this specific issue. I am
> building a shopping cart. I have placed the cart's form inside a panel
> and the cart items (via DataView) are inside the form. ShoppingCart is a
> model that I would like to use to represent the current state of the
> entire cart. It contains a array of ShoppingCartItem 's. However, when
> running this, cartItems never gets set on the ShoppingCart model. While
> debugging, cartItems is a child of the panelForm, but never gets
> populated on the ShoppingCart pojo via CompoundPropertyModel. The form
> does persist and if I traverse the panelForm object I could figure out
> how to get to the ShoppingCartItem's...but I'd rather not. J
>
>
>
> What am I missing? Is there a better way to do this? See code attached
> below.
>
>
>
> Thanks!!
>
>
>
>
>
> ...
>
> public CartPanel(String id) {
>
> super(id);
>
> Form panelForm = new Form("panelForm", new
> CompoundPropertyModel(new ShoppingCart())) {
>
> �...@override
>
> protected void onSubmit() {
>
> // need to rewrite cookie on update
>
> ShoppingCart cart = (ShoppingCart) getModelObject();
>
> System.out.println(cart.getCartItems());// check if
> cart items got populated
>
> }
>
> };
>
> add(panelForm);
>
>
>
> IDataProvider dataProvider = new ShoppingCartItemsProvider();
>
> DataView dataView = new DataView("cartItems", dataProvider) {
>
> �...@override
>
> protected void populateItem(final Item item) {
>
> final ShoppingCartItem cartItem = (ShoppingCartItem)
> item
>
> .getModelObject();
>
> item.add(new Label("itemName", cartItem.getName()));
>
> item.add(new TextField("quantity", new
> ShoppingCartItemModel(
>
> new Model(cartItem),
> ShoppingCartItemType.QUANTITY)));
>
> }
>
> };
>
> // add general text labels and buttons to the cart
>
> addFieldsAndButtons(panelForm);
>
> panelForm.add(dataView);
>
> }...
>
>
>
>
>
> Thanks!!
>
>
>
>
> --
> This e-mail and any attachments may contain confidential material for the
> sole use of the intended recipient. If you are not the intended recipient,
> please be aware that any disclosure, copying, distribution or use of this
> e-mail or any attachment is prohibited. If you have received this e-mail in
> error, please contact the sender and delete all copies.
> Thank you for your cooperation.
>
-
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