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); }~~Bonnie