C# 从Sharepoint日历获取定期项目时出现问题
我想在某一天取所有的东西。以编程方式将条目添加为定期事件,现在我需要根据用户选择的日期在每天获取定期事件的所有实例 例如:我在9月12日做了3个重复条目,截止到9月21日,三个条目都有不同的C# 从Sharepoint日历获取定期项目时出现问题,c#,sharepoint-2010,calendar,caml,recurring-events,C#,Sharepoint 2010,Calendar,Caml,Recurring Events,我想在某一天取所有的东西。以编程方式将条目添加为定期事件,现在我需要根据用户选择的日期在每天获取定期事件的所有实例 例如:我在9月12日做了3个重复条目,截止到9月21日,三个条目都有不同的时间和单独的房间名 我想在12号、13号、14号等等直到21号按照选定的日期取回所有物品 下面是我用来获取所选日期的所有条目的代码,但我在这里遇到的问题是,只有当我选择日期为9月12日时,查询才会返回条目,对于所有其他日期,即从13日到21日,查询不会返回任何结果 SPQuery oQueryBoo
时间
和单独的房间名
我想在12号、13号、14号等等直到21号按照选定的日期取回所有物品
下面是我用来获取所选日期的所有条目的代码,但我在这里遇到的问题是,只有当我选择日期为9月12日时,查询才会返回条目,对于所有其他日期,即从13日到21日,查询不会返回任何结果
SPQuery oQueryBookings = new SPQuery();
string strQuery = "";
oQueryBookings.ExpandRecurrence = true;
//oQueryBookings.Query = strQuery;
oQueryBookings.CalendarDate = date.Date;
SPListItemCollection oCollBookings = null;
strQuery = "<Where><And><DateRangesOverlap><FieldRef Name='EventDate' />" +
"<FieldRef Name='EndDate' />" +
"<FieldRef Name='RecurrenceID'/>" +
"<Value Type='DateTime'>" +
"<Today />" +
"</Value>" +
"</DateRangesOverlap>" +
"<Eq><FieldRef Name='Room' /><Value Type='Lookup'>" + room + "</Value></Eq>" +
"</And></Where>";
oQueryBookings.ViewFields = string.Concat("<FieldRef Name='Title' />" +
"<FieldRef Name='EventDate' />" +
"<FieldRef Name='EndDate' />" +
"<FieldRef Name='Location' />" +
"<FieldRef Name='Description' />" +
"<FieldRef Name='fRecurrence' />" +
"<FieldRef Name='RecurrenceData' />" +
"<FieldRef Name='fAllDayEvent' />" +
"<FieldRef Name='LinkTitle'/>" +
"<FieldRef Name='Room'/>");
oQueryBookings.Query = strQuery;
oCollBookings = list.GetItems(oQueryBookings);
if (oCollBookings.Count > 0)
{
//Code Here
}
SPQuery oQueryBookings=new SPQuery();
字符串strQuery=“”;
oQueryBookings.ExpandRecurrence=true;
//Query=strQuery;
oQueryBookings.CalendarDate=日期.date;
SPListItemCollection-oCollBookings=null;
strQuery=“”+
"" +
"" +
"" +
"" +
"" +
"" +
“”+房间+“”+
"";
oQueryBookings.ViewFields=string.Concat(“”)+
"" +
"" +
"" +
"" +
"" +
"" +
"" +
"" +
"");
Query=strQuery;
oCollBookings=list.GetItems(oQueryBookings);
如果(oCollBookings.Count>0)
{
//代码在这里
}
问题是您正在使用
。您已经在查询中设置了CalendarDate属性,因此我建议您使用
或
来获取其余的项目。问题是您正在使用
。您已经在查询中设置了CalendarDate属性,因此我建议您使用
或
来获取其余的项目。问题在于保存项目,而EventDate
和EndDate
保存为同一天。问题在于保存项目,EventDate
和EndDate
已保存为同一天。我希望它用于
并且获取定期项目的查询是正确的。问题是保存项目时,EventDate
EndDate
被保存为与上述情况相同的日期,这两个日期都是2012年9月12日,因此在第13天和以后的几天,
不起作用。我希望它用于
并且获取定期项目的查询是正确的。问题在于保存项目时,EventDate
EndDate
被保存为与上述情况相同的日期,这两种情况都是2012年9月12日。