Сначала выполните GroupBy
, чтобы получить IEnumerable<IGrouping<int, Excursion>>
, где int
равно Excursion.StartDate.Month
:
rptExcursionOuter.DataSource = lstExcur.GroupBy(x => x.StartDate.Month, x => x)
.OrderBy(g => g.First().StartDate.Month);
Измените метод ниже:
protected void rptExcursionOuter_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (e.Item.DataItem != null)
{
var itemsByMonth = (IGrouping<int, Excursion>)e.Item.DataItem;
Literal LitExcursionMonth = (Literal)e.Item.FindControl("LitExcursionMonth");
LitExcursionMonth.Text = itemsByMonth.First().StartDate.ToString("MMMM");
}
}
}
ОБНОВЛЕНИЕ: добавлен OrderBy