>private void TestMenuAddItemsDynamically() >{ > MenuItem item; > for (int i = 0; i < this.oData.Rows.Count; i++) > { > item = new MenuItem(this.oData.Rows[i]["description"].ToString()); > this.AddMenuItem("Dynamic Menu", item); > } >} >// Generic method for adding to any Menu >private void AddMenuItem(string name, MenuItem item) >{ > string lookForName = name.Replace("&", ""); > > // Find top-level menu item > MenuItem addTo = null; > for (int i = 0; i < this.Menu.MenuItems.Count; i++) > { > MenuItem topLevel = this.Menu.MenuItems[i]; > if (string.Compare(topLevel.Text.Replace("&", ""), lookForName, true) == 0) > { > addTo = topLevel; > break; > } > } > > // Was a top-level menu item found? > if (addTo == null) > { > addTo = new MenuItem(name); > this.Menu.MenuItems.Add(addTo); > addTo.Index = this.Menu.MenuItems.Count - 2; > } > > addTo.MenuItems.Add(item); >} >>