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.
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