Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Beantwortet
SUBTABLE im Dialog über SQL füllen

Hallo zusammen,
ist es theoretisch möglich, eine Subtable über ein SQL Statement zu befüllen?
(Also ähnlich wie mit "jr_subtable_init" jedoch ohne, dass feste Werte vordefiniert sind.)

Beim Öffnen eines Dialogs möchten wir über ein Button eine leere SubtableView über ein SQL befüllen,
die Daten sollen dabei aus einer anderen Tabelle geholt werden.

Vielen Dank im Voraus und viele Grüße
Krivosudsky Josef

1
1
Gepostet vor 3 Jahren
Stimmen Neuste

Antworten 2


Das kann man so machen und ist auch keine schlechte Lösung.

Man muss natürlich aufpassen dass man beim Parametrisieren der SQL Query keine aus dem Frontend exploitbare SQL Injection baut (siehe Prepared Statements).

Ich finde hier den Roundtrip vom Browser ins Backend um eine Tabelle zu befüllen etwas unelegant. Alternativ dazu kann man eine Schrittinitialisierungsfunktion verwenden und die SQL Query auf dem Server beim öffnen des Schritts anstoßen.

Ohne genauere Details zu kennen würde ich dazu raten die Daten nicht direkt in die Untertabelle zu schreiben sondern jr_subtable_init zu verwenden. Auch hier kann man die Daten für die Initialisierung per SQL abholen und entsprechend an die Funktion übergeben.

1
1
Gepostet vor 3 Jahren
Andreas Klein
155 × 4 Administrator

Hallo Josef,

dies ist problemlos möglich und wir benutzen dies häufig.
Rufen Sie im onLoad des Dialogs oder beim onclick auf den Button eine Dialogfunktion auf (jr_execute_dialog_function). Dies ist ein AJAX Call auf ein PHP Skript, das eine DB Abfrage machen kann und das Ergebnis ins Frontend zurückliefert.
Wenn die zurückgelieferten Daten im korrekten Format sind, kann man sie direkt per jr_subtable_init in die STV werfen.
Es gibt sowohl im JavaScript Handbuch als auch im PHP Handbuch von JR dazu ein Kapitel und ein Beispiel. Besser und ausführlicher ist das Kapitel im PHP Handbuch.
Eine kleine Gemeinheit ist, dass das Objekt, welches man der subtable_init Funktion mitgibt, mit dem Index 1 (für die erste Zeile) beginnen muss und nicht mit 0.
Sollte Ihnen dies nicht weiterhelfen, posten Sie bitte weitere Fragen als Kommentar, ich antworte dann so schnell wie möglich.
Sollte Diese Antwort genügen wäre es toll, wenn Sie den Haken links unten aktivieren für "Antwort hat mir geholfen", dann wissen die anderen Forum-Benutzer, dass diese Antwort zielführend ist.
Ein Forum lebt von der Aktivität der Nutzer.

Viele Grüße
Jan Zimmerbeutel
DemandFlow

1
1
Gepostet vor 3 Jahren
Jan Zimmerbeutel
272 × 4 Administrator
6K Ansichten
2 Antworten
vor 3 Jahren
vor 3 Jahren
Stichwörter