using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main(string[] args)
{
Combo combo = CarregarCombo();
foreach (var grupo in combo.Grupos.OrderBy(g => g.Key))
{
Console.WriteLine(grupo.Text);
foreach (var item in grupo.Itens.OrderBy(c => c.Value))
{
Console.WriteLine(" " + item.Text);
}
}
Console.ReadKey();
}
private static Combo CarregarCombo()
{
Grupo grupo1 = new Grupo();
grupo1.Text = "Grupo um";
grupo1.Key = "1";
grupo1.Itens = new List<Item>();
Item item1 = new Item();
item1.Text = "Item1";
item1.Value = "1";
grupo1.Itens.Add(item1);
Item item3 = new Item();
item3.Text = "Item3";
item3.Value = "3";
grupo1.Itens.Add(item3);
Item item2 = new Item();
item2.Text = "Item2";
item2.Value = "2";
grupo1.Itens.Add(item2);
Grupo grupo2 = new Grupo();
grupo2.Text = "Grupo dois";
grupo1.Key = "2";
grupo2.Itens = new List<Item>();
Item item6 = new Item();
item6.Text = "Item6";
item6.Value = "6";
grupo2.Itens.Add(item6);
Item item4 = new Item();
item4.Text = "Item4";
item4.Value = "4";
grupo2.Itens.Add(item4);
Item item5 = new Item();
item5.Text = "Item5";
item5.Value = "5";
grupo2.Itens.Add(item5);
Combo combo = new Combo();
combo.Grupos = new List<Grupo>();
combo.Grupos.Add(grupo1);
combo.Grupos.Add(grupo2);
return combo;
}
}
public class Combo
{
public List<Grupo> Grupos { get; set; }
}
public class Grupo
{
public string Text { get; set; }
public string Key { get; set; }
public List<Item> Itens { get; set; }
}
public class Item
{
public string Text { get; set; }
public string Value { get; set; }
public bool Selected { get; set; }
}