-
FEATURED COMPONENTS
First time here? Check out the FAQ!
is there any example of dynamic menu?
Do you mean a menu created from a database ?
If you already had defined the menu structure in your database, just create the menu items in this way:
1) Create a menubar object
2) Create a menu object by each main option in your menu (submenus)
3) Add a menuitem for each option in your submenu(2)
You can also used El expressions, databind ans so on...
I still do not understand you have some example that I use, I am putting down the code I'm using to make the menu but it does not come from the database, the Zk live Demo is an example menu http://www.zkoss .org/zkdemo/userguide/#t1, but this example does not bring the resources.
<zk>
<window
apply="br.com.gm.apresentacao.ALogin">
<menubar>
<menuitem id="miHome" label="Home" width="120px"></menuitem>
<menu id="mnPrincipal" label="Principal" width="120px">
<menupopup id="mpPrincipal">
<menu id="mnTabela" label="Tabela">
<menupopup id="mpTabela">
<menuitem id="miCid" label="CID"></menuitem>
<menuitem id="miCbos" label="CBOS"></menuitem>
<menuitem label="Especialidade"></menuitem>
</menupopup>
</menu>
First define the data structure in your database.
this zul code:
<menubar> <menuitem id="miHome" label="Home" width="120px"></menuitem> <menu id="mnPrincipal" label="Principal" width="120px"> <menupopup id="mpPrincipal"> <menu id="mnTabela" label="Tabela"> <menupopup id="mpTabela"> <menuitem id="miCid" label="CID"></menuitem> <menuitem id="miCbos" label="CBOS"></menuitem> <menuitem label="Especialidade"></menuitem> </menupopup> </menu> </menupopup> </menu> </menubar> can be rewrite to java as : Menubar mb = new Menubar(); Menuitem mi = new Menuitem("Home"); mi.setId("miHome"); mi.setWidth("120px"); mi.setParent(mb); Menu mnu = new Menu("Principal"); mnu.setId("mnPrincipal"); mnu.setWidth("120px"); mnu.setParent(mb); Menupopup mp = new Menupopup(); mp.setId("mpPrincipal"); mp.setParent(mnu); mnu = new Menu("Tabela"); mnu.setId("mnTabela"); mnu.setParent(mp); mp = new Menupopup(); mp.setId("mpTabela"); mp.setParent(mnu); mi = new Menuitem("CID"); mi.setId("miCid"); mi.setParent(mp); mi = new Menuitem("CBOS"); mi.setId("miCbos"); mi.setParent(mp); mi = new Menuitem("Especialidade"); mi.setParent(mp);
I do not test this code but I think this could be give you some ideas...
Asked: 2010-01-20 05:46:46 +0800
Seen: 466 times
Last updated: Jan 21 '10