ok as usual I bet myself to it, here is the answer : Basically use a ListView over a ListView!
@Override public void renderMenu() { IModel<MenuItemState> modelState = getState(); final MenuItemState rootState = modelState.getObject(); //Add all menu state objects as Ordered List / sub lists //Model MenuItems per Level (layer) List<List<MenuItemState>> menuLayers = new ArrayList<List<MenuItemState>>(); { MenuItemState state = rootState; do { menuLayers.add(state.getChildren()); state = menuHelper.getFirstFertileChild(state); } while(state != null); //Keep going (DFS) till Menu node bares no child } //Render: final ListView<List<MenuItemState>> multiLevelMenuContainer = new ListView<List<MenuItemState>>("menuContainer", menuLayers) { @Override protected void populateItem(final ListItem<List<MenuItemState>> menuLayerComponent) { //Add levels layer by layer (each layer in a different <div> on mark-up. Items in same layer get same styling //TODO : Work on mark-up styling for final render details. menuLayerComponent.add(new ListView<MenuItemState>("menuItems", menuLayerComponent.getModelObject()) { @Override public void populateItem(final ListItem<MenuItemState> childMenuComponent) { final MenuItemState childItemState = childMenuComponent.getModelObject(); childMenuComponent.add(new Label("name", childItemState.getMenuItem().getName())); childMenuComponent.add(new StaticImage("img", new Model(childItemState.getMenuItem().getImg())) ); childMenuComponent.add(new StaticImage("rollOverImg", new Model(childItemState.getMenuItem().getRollOverImg())) ); childMenuComponent.add(new Label("selected", Boolean.toString(childItemState.isSelected()))); } }); } }; add(multiLevelMenuContainer); } Markup code looks like this: <table wicket:id="menuContainer" border='1'> <tr><td> <ul wicket:id="menuItems"> <li></li> <li> </li> <li> </li> <li> </li> </ul> </td></tr> </table> -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Dunamic-neted-List-Views-tp2970644p2989287.html Sent from the Users forum mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org