Your repeating view is not dynamic. You should take a look at
refreshingview or listview. If you still want to use repeatingview
override onbeforerender and /modify/ the component structure.

Martijn

On 8/15/08, Daryl Handley <[EMAIL PROTECTED]> wrote:
> Hello,
>
> Newbie wicket user, but liking it so far :)  Using 1.3.4
>
> I've been trying to get a prototype going which will display a repeating
> view and regularly update a list of data via Ajax.
>
> My constructor for my component (which extends Panel) looks like this.
> ======================================
>     public UpcomingRacesComponent(String id) {
>         super(id);
>
>         RepeatingView upcomingRacesRepeatingView = new
> RepeatingView("upcomingRacesRepeater");
>         this.add(upcomingRacesRepeatingView);
>
>         String[] races = getRandomlyOrderedRaces();
>         int index = 0;
>         for (String race : races) {
>             WebMarkupContainer item = new
> WebMarkupContainer(upcomingRacesRepeatingView
>                     .newChildId());
>             upcomingRacesRepeatingView.add(item);
>             item.add(new Label("raceLabel", race));
>             index++;
>         }
>     }
> ======================================
>
>
> the html for this looks like
> ======================================
> <wicket:panel>
>     <div wicket:id="upcomingRacesRepeater">
>         <div wicket:id="raceLabel">
>             [ race ]
>         </div>
>     </div>
> </wicket:panel>
> ======================================
>
>
> the code for the page that holds the component is
> ======================================
>     public IndexPage() {
>         final UpcomingRacesComponent upcomingRacesComponent =
>             new UpcomingRacesComponent("upcomingRacesComponent");
>         upcomingRacesComponent.setOutputMarkupId(true);
>         upcomingRacesComponent.add(new
> AjaxSelfUpdatingTimerBehavior(Duration.seconds(3)));
>         this.add(upcomingRacesComponent);
>     }
> ======================================
>
>
> and the html within the page
> ======================================
>         <div wicket:id="upcomingRacesComponent" class="upcomingRaces">
>             [ Upcoming races component ]
>         </div>
> ======================================
>
>
> Through the Wicket debugger, I can see the request going to the server, but
> the same data is always returned (i'm randomizing the order for testing, so
> it should be changing). I also tried wrapping the component withing a
> WebMarkupContainer (as described in the Wicket In Action). but that didn't
> work either. It's pretty obvious why it isn't working since the constructor
> is only being called once and hence getRandomlyOrderedRaces is only called
> once, but I've been trying various different things and I can't seem to find
> where to hook in getRandomlyOrderedRaces so that it is called upon each of
> the AJAX calls.
>
> Any help appreciated, this is probably a really dumb question
>
> Thanks
> Daryl
>


-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com
Apache Wicket 1.3.4 is released
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.

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

Reply via email to