Hello
I'm having fun with the Ultrawebmenu.
Here is the code executed in the pageload of my control
Dim SqlConn As New DBClass Dim dr As SqlDataReader = Nothing Dim ultraWebMenu As New UltraWebNavigator.UltraWebMenu ultraWebMenu.ID = "Menu" + _MenuType ultraWebMenu.WebMenuTarget = Infragistics.WebUI.UltraWebNavigator.WebMenuTarget.PopupMenu Dim txtbox As New WebDataInput.WebTextEdit txtbox.ID = "txtbox" + _MenuType txtbox.Attributes.Add("onclick", "ShowMenu('" + Me.ID + ultraWebMenu.ID + "');") Try SqlConn.ConnectDB() dr = SqlConn.Execute("SELECT * FROM popupmenus_pop WHERE pop_type ='" & _MenuType & "'") While dr.Read ultraWebMenu.Attributes.Add("onclick", "fillUpTxtBox('" + dr.Item("pop_name") + "', '" + txtbox.ClientID + "')") ultraWebMenu.Items.Add(dr.Item("pop_name")) End While Catch ex As Exception Finally If SqlConn.State = Data.ConnectionState.Open Then SqlConn.DisconnectDB() End If If Not dr Is Nothing Then dr.Close() End If Me.Controls.Add(txtbox) Me.Controls.Add(ultraWebMenu) End Try
But this line seems not to work
ultraWebMenu.Attributes.Add("ItemClick", "fillUpTxtBox('" + dr.Item("pop_name") + "', '" + txtbox.ClientID + "')")
I check the generated code and I can't find anywhere this function
Do you have an explanation or another way to do this ?
Thx in advance
UltraWebMenu uses a flexible aproach when it comes to client-side events - a combination of client-side events + client-side object model - CSOM.
You can use the MenuClientSideEvent property to customize the events you wish to handle. You can read about UltraWebMenu's CSOM in the documentation, but here is a sample approach:
<MenuClientSideEvents ItemClick="ItemClick" SubMenuDisplay="SubMenuDisplay" ItemChecked="ItemChecked" InitializeMenu="InitializeMenu" ItemHover="ItemHover"> </MenuClientSideEvents> <script language="javascript"> function InitializeMenu(mn) { window.status = "Menu Initialized"; } function ItemChecked(mn, id, bChecked) { var item = igmenu_getItemById(id); if(bChecked) alert(item.getText() + " is being checked on"); else alert(item.getText() + " is being checked off"); } function ItemClick(mn, id) { var item = igmenu_getItemById(id); var tag = item.getTag(); if(tag != null) document.body.style.backgroundColor = tag; return false; } function ItemHover(mn, id, bOver) { var item = igmenu_getItemById(id); if(bOver) window.status = item.getText(); else window.status = ""; return false; } function SubMenuDisplay(mn, id, bShow) { if(bShow && (id == "UltraWebMenu1_1M" || id == "UltraWebMenu1_2M")) igmenu_getElementById("DropDownList1").style.visibility = "hidden"; else if(!bShow && (id == "UltraWebMenu1_1M" || id == "UltraWebMenu1_2M")) igmenu_getElementById("DropDownList1").style.visibility = "visible"; return false; } </script>
ok ok sorry, my mistake
I saw first that MenuClientSideEvents was readonly property
thx