found it. On 03.12.2009, at 16:19, zkn wrote:
> Hi, > > I'm trying to dynamically add components to an existing ListView but I can't > figure out how to do that. Here is my case: > > MyPanelContainer class with markup > > <wicket:panel> > <wicket:container wicket:id="panels"> > <wicket:container wicket:id="panel" /> > </wicket:container> > <a href="#" wicket:id="addPanel">add panel</a> > </wicket:panel> > > and here is how I create the container in the constructor of my page > > .. > MyPanelContainer container = new MyPanelContainer("panels_list_1"); > List<MyPanel> panels = new ArrayList<MyPanel>(); > > for (int j = 0; j < 5; j++) { > MyPanel panel = new MyPanel("panel"); > > ..... > > panels.add(panel); > . > > > container.add(new ListView<MyPanel>("panels", panels) { > protected void populateItem(ListItem<MyPanel> item) { > item.add( item.getModelObject()); > } > }); > add(Container); > .. > > This works fine and I can see all MyPanel inside the container. > > Now I'm trying to add another MyPanel inside the container on user click. > Here is the constructor of MyPanelContainer > > public MyPanelContainer(String id) { > super(id); > .... > add(new Link("addPanel") { > @Override > public void onClick() { > addPanel(); > } > > }); > . > > .. > public void addPanel() { > > ListView< MyPanel > panels = (ListView< MyPanel >) > get("panels"); > > MyPanel panel = new MyPanel("panel"); > ... > panels.add(panel); > } > > Basically addPanel() does the same thing as in page constructor to add panels > to the list but nothing shows up. > > Thanks in advance for your help > > Ozkan > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org