多くのレコードが返される場合は、PaginationControl複合タイプを使用して、ページ操作コントロールを指定できます。
Oracle Endeca Serverへの問合せでは、一度に表示できる数よりも多くのレコードが返されることがあります。この状況を克服する一般的なユーザー・インタフェース・メカニズムは、結果のページを作成して、各ページに結果セット全体のサブセットが表示されるようにすることです。
ResultsレスポンスのRecordListには、ページ操作に使用できるページ区切りコントロール(PaginationControlタイプ)が含まれます。
<cs:ContentElement xsi:type="cs:RecordList" Id="RecordList" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <cs:NumRecords>19</cs:NumRecords> <cs:TotalPages>7</cs:TotalPages> <cs:RecordRange First="1" Last="3"/> <cs:RecordListEntry> ... </cs:RecordListEntry> <cs:PaginationControl Label="First" Active="false"> <cs:Operator OwnerId="RecordList" Page="0" xsi:type="cs:PageOperator"/> </cs:PaginationControl> <cs:PaginationControl Label="Previous" Active="false"> <cs:Operator OwnerId="RecordList" Page="-1" xsi:type="cs:PageOperator"/> </cs:PaginationControl> <cs:PaginationControl Label="1" Active="false"> <cs:Operator OwnerId="RecordList" Page="0" xsi:type="cs:PageOperator"/> </cs:PaginationControl> <cs:PaginationControl Label="2" Active="true"> <cs:Operator OwnerId="RecordList" Page="1" xsi:type="cs:PageOperator"/> </cs:PaginationControl> <cs:PaginationControl Label="3" Active="true"> <cs:Operator OwnerId="RecordList" Page="2" xsi:type="cs:PageOperator"/> </cs:PaginationControl> <cs:PaginationControl Label="Next" Active="true"> <cs:Operator OwnerId="RecordList" Page="1" xsi:type="cs:PageOperator"/> </cs:PaginationControl> <cs:PaginationControl Label="Last" Active="true"> <cs:Operator OwnerId="RecordList" Page="6" xsi:type="cs:PageOperator"/> </cs:PaginationControl> ... </cs:ContentElement>
<ContentElementConfig xsi:type="RecordListConfig" HandlerFunction="RecordListHandler" HandlerNamespace=""http://www.endeca.com/MDEX/conversation/2/0" Id="RecordList" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RecordsPerPage>5</RecordsPerPage> </ContentElementConfig>
<cs:NumRecords>20</cs:NumRecords>
<Operator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="PageOperator" OwnerId="RecordList" Page="3"/>
<cs:TotalPages>1</cs:TotalPages>
ページ操作コントロールは不要です。
ページ・ラベル | 結果 |
---|---|
First | 最初のレコード・ページ(ページ0)に移動します。 |
Previous | 前のレコード・ページに移動します。 |
Next | 次のレコード・ページに移動します。 |
Last | 最後のレコード・ページに移動します。 |
1 | 最初のレコード・ページ(ページ0)に移動します。 |
2以上 | N番目のレコード・ページに移動します。 |
PaginationControl要素のActive属性は、現在の状態のコンテキストでそのページ操作コントロールが意味を持つかどうかを示します。たとえば、最後のレコード・ページにいる場合、NextまたはLastページ操作コントロールはアクティブになりません。