direct children of a repeater inherit the markup, so you can do
something like this:

<a wicket:id="repeater"><span wicket:id="label"/></a>

repeatingview repeater=new repeatingview("repeater");
for (int i=0;i<10;i++) {
  Link link=new Link(repeater.newchildid()) { };
  repeater.add(link);
  link.add(new label("label", ""+i));
}

this works fine when a repeater only contains one direct child per
iteration - the link we added does not have "siblings"

but now lets say inside repeater you want two siblings

<div wicket:id="repeater"><span wicket:id="label"/><input
wicket:id="textfield" type="text"/></div>

so each item has two siblings - a label and a textfield. so what do we
add to a repeater? it has to be something that can be attached to a
div tag, has no behavior, yet can contain any number of components -
best thing that fits is a WebMarkupContainer.

so our code is like this:

repeatingview repeater=new repeatingview("repeater");
for (int i=0;i<10;i++) {
  webmarkupcontainer container=new webmarkupcontainer(repeater.newchildid());
  repeater.add(item);
  item.add(new label("label", "text field "+i));
  item.add(new textfield("textfield"));
}

hope this helps...

-igor


On 10/27/07, skatz <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> Could someone give me some insight into the use of WebMarkupContainers with
> repeaters.  In particular, I was wondering how come there does not need to
> be markup that has the id of the interposed WebMarkupContainer?  (Also, a
> pointer to the code, if it exists, where repeaters do special handing of
> their direct children.)
>
> Here is a code snippet from the examples:
>
> ...
>
>         RepeatingView repeating = new RepeatingView("repeating");
>         add(repeating);
>
>         int index = 0;
>         while (contacts.hasNext())
>         {
>             WebMarkupContainer item = new
> WebMarkupContainer(repeating.newChildId());
>             repeating.add(item);
>             Contact contact = (Contact)contacts.next();
>
>             item.add(new ActionPanel("actions", new
> DetachableContactModel(contact)));
>             item.add(new Label("contactid",
> String.valueOf(contact.getId())));
>             item.add(new Label("firstname", contact.getFirstName()));
>             item.add(new Label("lastname", contact.getLastName()));
>             item.add(new Label("homephone", contact.getHomePhone()));
>             item.add(new Label("cellphone", contact.getCellPhone()));
> ...
>
> How come the markup parser doesn't get upset that there is no component with
> the wicket:id=repeating.newChildId()?
>
>
>
> --
> View this message in context: 
> http://www.nabble.com/Repeaters%27-use-of-WebMarkupContainer-question-tf4704749.html#a13448018
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

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

Reply via email to