سؤال

هل هناك طريقة فعالة للصفحة من خلال النتائج من استعلام SOQL دون إحضار جميع نتائج الاستعلام مرة أخرى ثم تخلص من غالبية منهم؟

كمثال، أود أن أكون قادرا على الصفحة من خلال القائمة الكاملة من جهات الاتصال التي تظهر 10 سجلات في وقت واحد. ليس لدي الحاجة إلى الترتيب حسب أي مجال معين.

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

المحلول

حاليا الحل الأكثر كفاءة وجدتها التي وجدت أنها ستعمل مع أي استعلام SOQL من خلال API الشريكة هو الاستمرار في المرجع الذي تم إرجاعه من QueryResult الأولي وتحديد موقع الاستعلام، ويتم طلب وجود صفحة خارج النتائج الحالية.

هذا مطلوب مستوى من دعم الترحيل أعلى من Salesforce QueryResult.

أي متى يتم طلب صفحة SOBjects قد تكون مطلوبة من:

  • الحالية (المخزنة مؤقتا) queryResult
  • QueryResult لاحقة يمكن جلبها باستخدام محدد الاستعلام
  • queryresult قبل
  • بعض مزيج من الثلاثة.

إذا تم تمديد الصفحة (أو أكثر)، فستحتاج إلى إنشاء QueryResult queryResult من جميع السجلات المطلوبة.

تحديث لربيع 2012 الافراج

يبدو أن هناك وظائف جديدة قادمة من شأنها أن تضيف دعم إزاحة إلى SOQL. على سبيل المثال

SELECT Name FROM Merchandise__c WHERE Price__c > 5.0 ORDER BY Name LIMIT 50 OFFSET 100

يرى الإصدار منصة FRING '12 Forge.com - تمت إضافة إزاحة إلى SOQL (PILOT)

تحديث للصيف 2012

الإزاحة هي الآن (الإتاحة العامة؟)

نصائح أخرى

يمكنك استخدام رقم تلقائي يتم تقديمه للقيام بمثابة الصفحات في جانب الخادم. يمكن استخدام هذا الحقل بعد بند "ترتيب"، يمكن أن يعمل كحقل فهرس.

لقد فعلت ترقيم الصفحات مثل ما أنت جانب. لكنني حصلت على مشكلة أخرى، لا أستطيع أن أفعل فرز في جانب الخادم في نفس الوقت. لأن الفرز والصفحات يحتاج كلاهما إلى إضافة عمود بعد "ترتيب" بند ".

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