我正在使用DayPilot创建每月事件视图
使用此tutorial我创建了事件的日历视图,但下拉列表仅考虑了将来的日期。如何设置for循环,使其从当年1月开始。
这是for循环:
resize
这导致:
2017年4月 - 2018年7月
我想保留当月的15个月,但希望从2017年1月开始下拉。
我如何做到这一点?
答案 0 :(得分:1)
您可以使用AddMonths(-14)
返回14个月,并将其用作循环的开始月份。
<select>
@{ var start = DateTime.Today.AddMonths(-14); }
@for (var d = start; d < DateTime.Today.AddMonths(1); d = d.AddMonths(1))
{
<option value="@d.ToString("s")">@d.ToString("MMMM yyyy")</option>
}
</select>
DateTime.Today.AddMonths(1)
将在下个月为您提供,循环中的表达式d < DateTime.Today.AddMonths(1)
可确保您的循环在打印当月后结束。
如果您不想要15个月,但希望特定月份作为开始(例如:2016年1月),您可以使用下面的DateTime
构造函数将该日期作为开始。
var start = new DateTime(2016, 01, 01);
答案 1 :(得分:1)
在1月(1)开始计数,而不是DateTime.Today.Month
@for (var d = new DateTime(DateTime.Today.Year, 1, 1); d < DateTime.Today.AddMonths(15); d = d.AddMonths(1))
{
<option value="@d.ToString("s")">@d.ToString("MMMM yyyy")</option>
}