Logo.CortexAG

Anmelden +

Ergebnislisten eines Portals

Die Ausgabe der Selektionsergebnisse einer Portalzeile erfolgen über Listen oder darin befindliche Pivot-Tabellen. Diese Ausgabe beinhaltet ein json-Objekt mit einem festdefinierten Aufbau, das für die weitere Verarbeitung genutzt werden kann. Im Folgenden wird daher der Aufbau für eine einfache und eine Pivot-Liste beschrieben.

einfache Liste

Wenn innerhalb eines Portals eine Zeile angeklickt wird, erfolgt die Ergebnisausgabe in einer Liste, die dem Portal zugewiesen wurde. Bei einer Portalzeile handelt es sich somit um eine Vorselektion von Daten, deren Ergebnis ausgegeben wird.

Liste.Einfach

Um das Ergebnis einer Portalzeile als JSON-Objekt zu erhalten, stellt der DataService folgende Methode bereit:

getPortalRowListData

Ähnlich wie das erste Beispiel zum Auslesen einer Portalkonfiguration sind auch hierbei mehrere Parameter zu übergeben. Dabei wird der Teilbereich "param“ um die Gruppen- und Zeilenangabe erweitert:

$jRequest = array('method'   => 'getPortalRows',
                 'requestid' => 1,
                 'param'     => array(
                            array('portal' => 'Schulung-einfach',
                                  'group' => 'Teile',
                                  'row'   => 'Typen')
                      ));

Alle weiteren Angaben aus dem ersten PHP-Beispiel bleiben gleich, so dass nunmehr die json-Struktur der Listeninhalte zurückgegeben wird.

{"requesterror":0,
"requestid":1,
"requestmethod":"getPortalRowListData",
"requestduration":0.0125,
"result":{
"rc":0,
  "error":"",
 "data":{
  "c":{
    "l0d0":{
      "b":"0",
       "h":"Type ID",
       "l":1,
       "s":"TypeID",
       "t":"C",
       "w":"0",
       "x":8
     },
     "l0d1":{
      "b":"0",
       "h":"Type Name",
       "l":20,
       "s":"TypeNam",
       "t":"C",
       "w":"0",
       "x":85
     },
     "l0d2":{
      "x":223
     }
   },
   "d":[{
     "!IId":"2066f650a820202020212023",
     "!l":"0",
     "!t":"LITp",
     "l0d0":"S",
     "l0d1":"Set"},
     [. . . .],
     {"!IId":"2066f650a820203020212023",
     "!l":"8",
     "!t":"LITp",
     "l0d0":"U",
     "l0d1":"Unsorted Lot"}
   ],
   "error":0,
   "i":{
     "countget":9,
     "counttotal":9,
     "nextpos":9,
     "startpos":0,
     "timefilter":0,
     "timeget":0},
     "typ":"list"
  }
}
}

Innerhalb des Schlüssels "data“, im Unterschlüssel "c“ befinden sich die Konfigurationsangaben zu jeder Spalte. Dabei gelten folgende Bedeutungen je Schlüssel:

"b": Basisfeldtyp – irrelevant für die weitere Nutzung 
"h": Bezeichner des Feldes in der Liste (header)
"l": Feldlänge
"s": Synonym des Datenbankfeldes
"t": Feldtyp (C=Char)
"x": x-Position des Feldes in der Liste (Pixel)
"w": Wiederholfeld (1 oder 0)
"vt": Vortext
"nt": Nachtext
"textAlign": Ausrichtung des Inhaltes in der Liste
"textDecoration": z.B. „underline“, ...
"color": Textfarbe für den Inhalt

Dabei ist jeder Eintrag unter einem eigenen Schlüssel abgelegt, über den die Position der Felder ersichtlich ist. Beispiel: "l0d0“. Hierbei handelt es sich um das erste Feld in der ersten Liste. Bei weiteren Feldern wird die Ziffer hinter "d“ hochgezählt; bei Zeilen die Ziffer hinter "l“.

Die Daten der einzelnen Datensätze sind über den Schlüssel "d“ ersichtlich.

"!IId":"2066f650a820202020212023",      
"!l":"0",     
"!t":"LITp",     
"l0d0":"S",     
"l0d1":"Set"

Zu dem hier gezeigten Datensatz erfolgt die Ausgabe der Metainformationen über die ID ("!IID“), die Zeilennummer ("!l“) und den Datensatztyp ("!t“). Weitere Felder werden nach dem oben erläuterten Muster je Feld ausgegeben. So handelt es sich bei "l0d0“ um die "Type ID“ und bei "l0d1“ um den "Type Name“.

Nähere Informationen zu den Daten im Schlüssel "d" sind somit nur über den Schlüssel "data" ersichtlich.

 

Ergebnisliste mit Subliste

Innerhalb des "data“->“c“-Schlüssels sind die Feldbeschreibungen aufgeführt. Hieraus sind je Feld die einzelnen Attribute ersichtlich. Nachfolgende Struktur wird hier ausgegeben:

data              Hauptknoten für die Datenrückgabe 
c               Schlüssel für die Feldbeschreibungen   
l0d0          1. Feld in der 1. Listenzeile (Zeile=l; Daten=d)   
l0d1          2. Feld in der 1. Listenzeile   
l1d0          1. Feld in der 2. Listenzeile   
l1d1          2. Feld in der 2. Listenzeile   
0.0.l0d0      1. Feld der 1. Zeile in der 1. Subliste   
0.0.l0d1      2. Feld der 1. Zeile in der 1. Subliste   
0.0.l1d0      1. Feld der 2. Zeile in der 1. Subliste   
0.0.l1d1      2. Feld der 2. Zeile in der 1. Subliste   
0.1.l0d0      1. Feld der 1. Zeile in der 2. Subliste   
0.1.l1d0      1. Feld der 2. Zeile in der 2. Subliste [...]   

0.[x1].l[x2]d[x3]  0=Hauptkonten; x1=Subliste; x2=Zeile; x3=Feld

Die möglichen Inhalte zu einer Feldbeschreibung sind der vorhergehenden Beschreibung zu entnehmen. Bei der eigentlichen Datenrückgabe wird auf die Schlüssel der einzelnen Felder verwiesen. Dadurch ist zu einem Wert diese Beschreibung ersichtlich.

Datenbeschreibung bei der Nutzung von Sublisten

Analog zu der Feldbeschreibung erfolgt die Ausgabe der eigentlichen Daten in einer ähnlich unterstrukturierten Form. Hierbei gilt der grundsätzliche Aufbau, wie er für die einfache Rückgabe beschrieben wurde:

"!IId":...,
"!l":...,
"!t":...,
"l0d0":...,
"l0d1":...

Diese Struktur wird bei der Nutzung von Sublisten um den Schlüssel "!c“ erweitert. Dieser beinhaltet immer die Unterstruktur für Sublisten. Dieses gilt auch, wenn Sublisten erneut Sublisten beinhalten; und so fort.

Sublistenstruktur

Die nachfolgende Struktur gilt bei der Nutzung von Sublisten:

!c                Hauptschlüssel für Sublisten 
0.0             erste Subliste   
0             erster Datensatz     
!IId        ID des Datensatzes     
!l          Zeile des Datensatzes (hier z.B. „0.0“)     
!t          Datensatztyp     
0.0.l0d0    erstes Feld der ersten Zeile in der Subliste     
0.0.l0d1    zweites Feld der ersten Zeile in der Subliste   
1             zweite Subliste
     !IId      [...]

Die Angaben "0.0.l0d0“ und "0.0.l0d1“ beziehen sich hierbei auf die zuvor erläuterten Feldbeschreibungen.

 

 Hinweise zur Online-Hilfe
 

© 2017 Cortex AG
(letzte Aktualisierung: 12.04.2017)

 Haftungsausschluss 

Impressum    AGB