Domanda

C'è un modo efficiente per scorrere le pagine di risultati di una query SOQL senza portare tutti i risultati delle query e poi scartare la maggior parte di loro?

Come un esempio, mi piacerebbe essere in grado di sfogliare l'elenco completo dei contatti che mostra i 10 record alla volta.Non ho la necessità di ordinare da un particolare settore.

È stato utile?

Soluzione

Attualmente la soluzione più efficiente che ho trovato funziona con qualsiasi query SOQL attraverso il partner API è quello di mantenere l'soggetti restituito dall'iniziale QueryResult e la query locator caso viene richiesta una pagina al di fuori delle attuali risultati.

Questo ha richiesto un livello di paging supporto di Salesforce QueryResult.

I. e.Quando viene richiesta una pagina soggetti può essere richiesto da:

  • La corrente (cache) QueryResult
  • Una successiva QueryResult che possono essere recuperati utilizzando la query locator
  • Una prima QueryResult
  • Combinazione di tutti e tre.

Se la pagina si estende su due (o più) QueryResults un artificiale QueryResult dovrà essere creata con tutti i record necessari.

Aggiornamento per la Primavera 2012 Release

Sembra che ci sia una nuova funzionalità in arrivo che aggiungerà OFFSET supporto per SOQL.E. g.

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

Vedere Primavera '12 Force.com Release della Piattaforma - OFFSET aggiunto SOQL (Pilota)

Aggiornamento per l'Estate 2012 Release

OFFSET è ora GA (Disponibilità Generale?)

Altri suggerimenti

è possibile utilizzare un numero di auto-archiviato fare impaginazione lato server. questo campo può essere utilizzato dopo 'ordine da' clausola, può agire come un campo indice.

Ho fatto impaginazione come quello che si parte. ma ho avuto un altro problema, non posso fare quelli in lato server allo stesso tempo. perché ordinamento e impaginazione sia bisogno di aggiungere colonna dopo 'ordine da' clausola.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top