Ciao
ho questa struttura dati
Codice PHP:
public class MenuItems : List<MenuItem>
{
}
public class MenuItem
{
#region Private members
private string menuItemId = string.Empty;
private string parentMenuItemId = string.Empty;
private string description = string.Empty;
private int order = 0;
private MenuItems childMenuItems = new MenuItems();
#endregion
#region Public properties
public string MenuItemId
{
get { return menuItemId; }
set { menuItemId = value; }
}
public string ParentMenuItemId
{
get { return parentMenuItemId; }
set { parentMenuItemId = value; }
}
public string Description
{
get { return description; }
set { description = value; }
}
public int Order
{
get { return order; }
set { order = value; }
}
public MenuItems ChildMenuItems
{
get { return childMenuItems; }
set { childMenuItems = value; }
}
#endregion
}
dalla base dati mi ritorna un contenitore non strutturato di MenuItems
Come nell'esempio da me ricreato
Codice PHP:
private MenuItems createMenuItems()
{
string menuid1 = Guid.NewGuid().ToString();
string menuid2 = Guid.NewGuid().ToString();
string submenuid1 = Guid.NewGuid().ToString();
string submenuid2 = Guid.NewGuid().ToString();
MenuItems menuItems = new MenuItems();
MenuItem menuItem = new MenuItem();
#region menu1
menuItem.MenuItemId = menuid1;
menuItem.ParentMenuItemId = Guid.Empty.ToString();
menuItem.Description = "menu1";
menuItem.Order = 0;
menuItem.Type = MenuType.UNDEFINED;
menuItems.Add(menuItem);
menuItem = new MenuItem();
menuItem.MenuItemId = menuid1;
menuItem.ParentMenuItemId = submenuid1;
menuItem.Description = "menu1-submenu1";
menuItem.Type = MenuType.UNDEFINED;
menuItems.Add(menuItem);
menuItem = new MenuItem();
menuItem.MenuItemId = menuid1;
menuItem.ParentMenuItemId = submenuid2;
menuItem.Description = "menu1-submenu2";
menuItem.Type = MenuType.UNDEFINED;
menuItems.Add(menuItem);
#endregion
#region menu2
menuItem.MenuItemId = menuid2;
menuItem.ParentMenuItemId = Guid.Empty.ToString();
menuItem.Description = "menu2";
menuItem.Order = 0;
menuItem.Type = MenuType.UNDEFINED;
menuItems.Add(menuItem);
menuItem = new MenuItem();
menuItem.MenuItemId = menuid2;
menuItem.ParentMenuItemId = Guid.NewGuid().ToString();
menuItem.Description = "menu2-submenu1";
menuItem.Order = 0;
menuItem.Type = MenuType.UNDEFINED;
menuItems.Add(menuItem);
menuItem = new MenuItem();
menuItem.MenuItemId = menuid2;
menuItem.ParentMenuItemId = Guid.NewGuid().ToString();
menuItem.Description = "menu2-submenu2";
menuItem.Order = 1;
menuItem.Type = MenuType.UNDEFINED;
menuItems.Add(menuItem);
menuItem = new MenuItem();
menuItem.MenuItemId = menuid2;
menuItem.ParentMenuItemId = Guid.NewGuid().ToString();
menuItem.Description = "menu2-submenu3";
menuItem.Type = MenuType.UNDEFINED;
menuItems.Add(menuItem);
#endregion
#region submenu1
menuItem = new MenuItem();
menuItem.MenuItemId = Guid.NewGuid().ToString();
menuItem.ParentMenuItemId = submenuid1;
menuItem.Description = "submenu1-2submenu1";
menuItem.Type = MenuType.UNDEFINED;
menuItems.Add(menuItem);
menuItem = new MenuItem();
menuItem.MenuItemId = Guid.NewGuid().ToString();
menuItem.ParentMenuItemId = submenuid1;
menuItem.Description = "submenu1-2submenu2";
menuItem.Type = MenuType.UNDEFINED;
menuItems.Add(menuItem);
#endregion
return menuItems;
}
quello che sto cercando di fare è una funzione che in automatico mi crea una struttura menu corretta, mettendo sotto i menu genitori i rispettivi figli ed eventualemnte i nipoti dei figli.
Riuscite ad aiutarmi?