Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
ctx.resource
Die FlowResource-Instanz im aktuellen Kontext, die zum Zugriff auf und zur Bearbeitung von Daten verwendet wird. In den meisten Blöcken (Formulare, Tabellen, Details usw.) und Pop-up-Szenarien bindet die Laufzeitumgebung ctx.resource vorab. In Szenarien wie JSBlock, in denen standardmäßig keine Ressource vorhanden ist, müssen Sie zuerst ctx.initResource() aufrufen, um sie zu initialisieren, bevor Sie sie über ctx.resource verwenden können.
Anwendungsbereiche
ctx.resource kann in jedem RunJS-Szenario verwendet werden, das Zugriff auf strukturierte Daten (Listen, einzelne Datensätze, benutzerdefinierte APIs, SQL) erfordert. Formular-, Tabellen-, Detail-Blöcke und Pop-ups sind in der Regel vorab gebunden. Für JSBlock, JSField, JSItem, JSColumn usw. können Sie, falls das Laden von Daten erforderlich ist, zuerst ctx.initResource(type) aufrufen und dann auf ctx.resource zugreifen.
Typdefinition
- In Kontexten mit Vorabbindung ist
ctx.resourcedie entsprechende Ressourcen-Instanz. - In Szenarien wie JSBlock, in denen standardmäßig keine Ressource vorhanden ist, ist der Wert
undefined, bisctx.initResource(type)aufgerufen wird.
Gängige Methoden
Die von den verschiedenen Ressourcentypen (MultiRecordResource, SingleRecordResource, APIResource, SQLResource) bereitgestellten Methoden variieren leicht. Im Folgenden sind die universellen oder häufig verwendeten Methoden aufgeführt:
Spezifisch für MultiRecordResource: getSelectedRows(), destroySelectedRows(), setPage(), next(), previous() usw.
Beispiele
Listendaten (erfordert zuerst initResource)
Tabellen-Szenario (vorab gebunden)
Einzelner Datensatz
Aufruf einer benutzerdefinierten Aktion
Beziehung zu ctx.initResource / ctx.makeResource
- ctx.initResource(type): Wenn
ctx.resourcenicht existiert, wird eine Instanz erstellt und gebunden; falls sie bereits existiert, wird die vorhandene Instanz zurückgegeben. Dies stellt sicher, dassctx.resourceverfügbar ist. - ctx.makeResource(type): Erstellt eine neue Ressourcen-Instanz und gibt diese zurück, schreibt sie jedoch nicht in
ctx.resource. Dies eignet sich für Szenarien, die mehrere unabhängige Ressourcen oder eine temporäre Nutzung erfordern. - ctx.resource: Greift auf die bereits an den aktuellen Kontext gebundene Ressource zu. Die meisten Blöcke/Pop-ups sind vorab gebunden; andernfalls ist der Wert
undefinedund erfordertctx.initResource.
Hinweise
- Es wird empfohlen, vor der Verwendung eine Prüfung auf Nullwerte durchzuführen:
ctx.resource?.refresh(), insbesondere in Szenarien wie JSBlock, in denen keine Vorabbindung bestehen könnte. - Nach der Initialisierung müssen Sie
setResourceName(name)aufrufen, um die Sammlung (Collection) zu spezifizieren, bevor Sie Daten überrefresh()laden. - Die vollständige API für jeden Ressourcentyp finden Sie unter den folgenden Links.
Siehe auch
- ctx.initResource() - Ressource initialisieren und an den aktuellen Kontext binden
- ctx.makeResource() - Neue Ressourcen-Instanz erstellen, ohne sie an
ctx.resourcezu binden - MultiRecordResource - Mehrere Datensätze/Listen
- SingleRecordResource - Einzelner Datensatz
- APIResource - Allgemeine API-Ressource
- SQLResource - SQL-Abfrage-Ressource

