如何为日历制作重复活动?

时间:2014-09-30 14:35:42

标签: c# sql asp.net

我有一个日历控件,当选择日期时,它会显示一个表,其中包含与数据库中该日期相关联的事件。 Event表有一个重复列。如果某个事件的重复是肯定的,那么每天它应该显示该事件。

实施例。

Event_id    Event Start Event End   Repeat  Days               Date
2           15:00:00    17:00:00    yes     Monday:Wednesday   10/11/2014 12:00:00 AM

这应该显示每个星期一和星期三的15:00到17:00。 Date是第一天开始。

这是我尝试过的,但它只能工作一天。

while (reader.Read()) {
    int event_id = reader.GetInt32(0);
    TimeSpan eventStart = reader.GetTimeSpan(2);
    TimeSpan eventEnd = reader.GetTimeSpan(3);
    int repeat = reader.GetInt32(4);
    string days = reader.GetString(5);
    DateTime theDate = reader.GetDateTime(7);

    //Printing the table.
    htmlStr += "<tr><td>" + event_id + "</td><td>" + eventStart + "</td><td>" + eventEnd + "</td><td>" + repeat + "</td><td>" + days + "</td><td>" + theDate + "</td></tr>";  
} 

1 个答案:

答案 0 :(得分:0)

这是一种简单的方法,可能不是最好的,但这不需要其他库。

从数据库中取出所有事件[重复(仅是),日期,日期]并放入集合中。然后获取selectedDate并查看Date是否在之前或之后,如果是之前,则检查selectedDate是否与集合中的Days相同,如果是,则打印出来收藏也。