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: [email protected]
For additional commands, e-mail: [email protected]