使用Lambda按月份显示事件
本文关键字:显示 事件 Lambda 使用 | 更新日期: 2023-09-27 18:24:10
我使用以下代码从SQL数据库中按天显示事件列表:
IEnumerable<EventInstance> distinctDate = instances
.GroupBy(e => e.StartDate.Date)
.Select(group => group.First());
foreach (var instance in distinctDate)
{
// code to display here
}
我想做的是在页面上按月划分,所以在每个月浏览页面之间,我可以将month Heading放在H3标签
如果你想要每天一个事件,然后按月分组,我想这就是你想要的。请注意,您还必须按年份分组,以避免将不同年份的日期集中在一起。我还在那里添加了一个订单,以确保活动按日期排序。
var distinctDate = instances
.GroupBy(e => e.StartDate.Date)
.Select(grp => grp.First())
.OrderyBy(e => e.StartDate.Date)
.GroupBy(e => new { e.StartDate.Year, e.StartDate.Month });
然后你会做一些类似的事情
foreach(var monthGrouping in distinctDate)
{
var month = monthGrouping.Key.Month;
foreach(var singleDayEvent in monthGrouping)
{
var date = singleDayEvent.StartDate;
}
}