In Ninox-Script auf JavaScript-Variablen zugreifen?
Hallo Forum,
vielleicht funktioniert das gar nicht. Aber ich probier's mal.
Hintergrund ist folgender: weil es bei Ninox ein hauseigenes Baudiagramm nicht gibt habe ich mir ein Google-Baudiagramm ("Orgchart") in einem Funktionsfeld erstellt. Das Baudiagramm zeigt entsprechend zweier Auswahlfelder (Liegenschaft und Zählertyp) die entsprechenden Messstellen einer Liegenschaft in der korrekten Beziehungsstruktur an. Soweit so gut.
Einzelne Messtellen lassen sich im Baudiagramm auswählen. Bei Auwahländerung wird im JavaScript der Variablenwert "data.getValue(selection[0].row, 0))" bzw. "stelle" neu gesetzt.
relativ klar was erreicht werden soll: Beim Klicken auf die jeweilige Messtelle soll per ui.popupRecord() die Formularansicht der jeweiligen Messstelle geöffnet werden.
Hier die Codeausschnitte:
1. Google Chart (wird in Funktionsfeld importiert)
Der Ninox-Code des zusammengebauten Baumdiagramm sieht so aus:
statt raw(first(select Messstellen where Nr = 1)) hätte ich jetzt gerne raw(first(select Messstellen where Nr = stelle))
Zum besseren Verständnis hier noch ein Screenshot:
5 Antworten
-
Bin jetzt nen Laie, aber ich glaube das geht so nicht. Was du versuchen kannst wäre ein Dialog von ninox zu mißbrauchen. Diesen mittels css hack auf die Bildschirmgröße zu erweitern und den chart dort zu platzieren. Damit du die Buttons vom Diagramm nutzen kannst. Anders als im funktionsfeld ist es aber wichtig das im Dialog alle Werte geladen werden welche vorhanden sind. Du nach ninox schreiben kannst, aber es kein neu laden der Daten von deiner Eingabe gibt, was heißt du must immer den Dialog neu laden um Änderungen zu sehen. Aber du kannst die Buttons nutzen vom Diagramm
-
Hallo Michi.
Einen Weg die JS-Variablen in Ninox zu verarbeiten habe ich leider nicht gefunden. Ich bin aber letztlioch anders zum Ziel gekommen.
Ich habe mir einfach mal angeschaut, was denn denn rauskommt, wenn man:
ausgeben lässt. Am Ende steht da einfach nur: ui.popupRecord('R12') beisplweise. Das konnte ich dann einfach per Text-Ersetzen in den Code übernehmen.
Woher Ninox weiß, welche Tabelle gemeint ist, ist mitr allerdings nicht klar. Aber es funktioniert.
Zur Info hier noch einmal der Code:
1. Baumdiagramm (HTML-Import aus einer Tabelle)
2. Messtellensuche (verstecktes Funktionsfeld)
3. Knotenelement (HTML-Import aus einer Tabelle)
4. Baumdiagramm (sichtbares Funktionsfeld)
-
... du könntest auch ein Ninox Feld anlegen, welches als "Trigger bei Änderung" deinen Popup auslöst, und es per javascript mit einer Datensatz ID befüllen. Du müsstest dafür allerdings den internen Feldnamen mit der Ninox API über postman oder einen API call innerhalb von NINOX ausführen.
database.update('" + raw(NrDiesesDatensatzes) + "', 'dieIDdesNinoxFeldes-zB. Y', DeineJavascriptVariable);
Aber du bist mit ui.PopupRecord() ja bereits erfolgreich und im javascript geblieben, da braucht man nicht wieder zum NinoxScript zu wechseln...
Content aside
- vor 1 JahrWed, April 3, 2024 at 7:07 AM UTCZuletzt aktiv
- 5Antworten
- 173Ansichten
-
3
Folge bereits