Worum es geht
Eine Tabelle zeigt nicht 10 000 Kunden auf einmal, sondern 25 pro Seite. Dafür gibt es zwei Angaben in parameter:
| Angabe | Bedeutung | Standard |
|---|---|---|
limit | wie viele Objekte höchstens auf eine Seite kommen | -1 = alle |
page | welche Seite, gezählt ab 0 | 0 |
Seite page beginnt beim Treffer Nummer page × limit. Mit limit: 25 ist page: 0 die Treffer 1–25, page: 1 die Treffer 26–50.
Die Seitenleiste
flowchart LR
subgraph T["totalCount = 60, limit = 25"]
direction LR
p0["page 0<br/>Treffer 1–25"]
p1["page 1<br/>Treffer 26–50"]
p2["page 2<br/>Treffer 51–60"]
end
p0 --> p1 --> p2
Die Zahl der Seiten rechnest du aus totalCount und limit: aufrunden von totalCount / limit. Bei 60 Treffern und limit 25 sind das 3 Seiten.
Was in meta steht
POST /api/rest/preset/query
{ "response": ["label"],
"parameter": { "limit": 2, "page": 1,
"order": [{ "field": "amount", "order": "ASC" }] } }{
"data": [ { "label": "Gamma" } ],
"meta": {
"error": false,
"totalCount": 3,
"currentPage": 1,
"currentLimit": 2,
"currentPageSize": 1
}
}| Feld | Bedeutung |
|---|---|
totalCount | Zahl aller Treffer über alle Seiten, nach allen Filtern |
currentPage | die angefragte Seite |
currentLimit | das angefragte limit |
currentPageSize | Hilfswert der Seitenberechnung. Für die Seitenleiste rechne die Seitenzahl selbst aus totalCount und limit. |
error | bei einer erfolgreichen Suche immer false |
totalCount berechnet CDMS mit einer eigenen Zählabfrage, bevor es die Seite liest. Die Zahl berücksichtigt dieselben Filter wie die Treffer, auch die unsichtbaren. Zwei Benutzer können also bei derselben Suche verschiedene totalCount sehen.
Alle Ausprägungen
Wann: Tabelle mit Seiten.
"limit": 25, "page": 0 liefert die ersten 25, dazu totalCount für die Seitenleiste.
Ergebnis: Höchstens 25 Objekte.
Wann: Du brauchst wirklich alle, etwa für einen Export oder eine Auswahlliste mit wenigen Einträgen.
"limit": -1 oder limit weglassen. page spielt dann keine Rolle.
Ergebnis: Alle Treffer auf einmal.
Wann: Du willst nur wissen, wie viele Treffer es gibt.
"limit": 0 liefert keine Objekte, aber totalCount.
Ergebnis: data ist leer, totalCount stimmt.
Wann: "page": 5 bei nur 3 Treffern und limit 2.
Kein Fehler.
Ergebnis: data ist leer, totalCount stimmt.
Wann: "page": -1
CDMS liefert die erste Seite. In meta.currentPage steht der angefragte Wert.
Ergebnis: Wie page 0.
Wann: "meta": true (Standard) oder false.
Bei einer Suche auf einem normalen Modell kommt meta mit totalCount in beiden Fällen.
Ergebnis: totalCount ist immer da.
Wann: Suche über die Hub-API eines abstrakten Modells.
totalCount kommt aus der ersten Phase auf dem Obermodell, zusammen mit Filter, Sortierung und Seite. Siehe Abstrakte Modelle.
Ergebnis: Eine Zahl über alle Untertypen zusammen.