سؤال

أواجه مشكلة في بناء استعلام كمل لقائمة التقويم.هنا هو بلدي الاستعلام كمل

                SPQuery query = new SPQuery();

                StringBuilder sb = new StringBuilder();
                sb.Append("<Where>");
                sb.Append("<And>");
                sb.Append("<DateRangesOverlap>");
                sb.Append("<FieldRef Name='EventDate' /><FieldRef Name='EndDate' /><FieldRef Name='RecurrenceID' />");
                sb.Append("<Value Type='DateTime'><Month /></Value>");
                sb.Append("</DateRangesOverlap>");
               sb.Append("<Geq><FieldRef Name='EventDate'/><Value Type='DateTime'><Today Offset='-1'/></Value></Geq>");
                sb.Append("</And>");
                sb.Append("</Where>");

                sb.Append("<OrderBy><FieldRef Name='EventDate' /></OrderBy>");

                query.RowLimit = numberOfUpcomingEvents;
                query.Query = sb.ToString();
                query.ExpandRecurrence = true;
                query.CalendarDate = DateTime.Now;

المشكلة هي أنه لن يعمل بشكل صحيح إذا كان هناك حدث متكرر يبدأ قبل التاريخ الحالي ولكن التكرار التالي في التاريخ الحالي بعد ذلك.كيفية استرداد أحداث التكرار كأحداث فردية?

أي شخص لديه اقتراحات?

هل كانت مفيدة؟

المحلول 3

حصلت للتو على الحل.

قرأته على مؤشر ترابط آخر والملخص هو:

  1. قم بإنشاء عمودين جديدين يسمى مرشح بدء التشغيل ومرشح النهاية.اجعل هذه الأعمدة محسوبة الأعمدة مع صيغ [وقت البدء] و [نهاية الوقت] على التوالي.يجب أن تكون الأعمدة من التاريخ والوقت \ التاريخ والوقت ويجب عدم عرضها في العرض الافتراضي.

  2. انقر فوق الإعدادات المتقدمة واختر نعم على السؤال "السماح بإدارة أنواع المحتوى" في قسم أنواع المحتوى.انقر فوق موافق.

    استعلامي للحصول على الأحداث المتوفرة مع الأحداث المتكررة هي: giveacodicetagpre.

    الآن يمكنني تصفية جميع الأحداث القادمة

نصائح أخرى

حاول إضافة خيار إضافي <QueryOptions><RecurrencePatternXMLVersion>v3</RecurrencePatternXMLVersion><ExpandRecurrence>TRUE</ExpandRecurrence></QueryOptions>

جرب هذا
giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top