1

Anklickbares Berechnungsfeld

Ich lasse mir in einem Berechnungsfeld (fx) bestimmte Lizenzinhaber anzeigen:
---
join((select Lizenzen where Art = 1 and Lizenzzuordnung = 2).Player.(Nachname + ", " + Vorname), "
")

---
Bei Anklicken greift folgender Code:
---
let myRecord := last(select Lizenzen where Art = 1 and Lizenzzuordnung = 2);
popupRecord(myRecord)

---
Mein Wunsch wäre es, jeden der gefundenen Datensätze per Klick zugänglich zu machen. Was müßte ich ändern

Gruß
Tacho

12 Antworten

null
    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Moin Tacho

    spontan fallen mir zwei Möglichkeiten ein:

    1. eine Ansicht mit dem select erstellen

    2. Im FX-Feld mit Hmtl ein Array mit Hyperlinks für die Datensätze aufbauen

    Variante 1 ist deutlich einfacher ;-)

    VG Ronald

      • Tacho
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Ahoi Ronald DIGITOOL 

      ja, Variante 1 ist mir geläufig, aber nicht praktikabel.
      Bei Variante 2 bin ich intellektuell völlig raus, schade.

      Danke für die Info!

      Gruß
      Tacho

    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Moin Tacho

    Ich war mir ziemlich sicher, dass du Variante 1 kennst, aber manchmal sieht man ja den Wald vor Bäumen nicht...

    zu 2., probiere mal dieses hier im FX-Feld bei Formel! (nicht beim Anklicken) aus:

    for i in (select Lizenzen where Art = 1 and Lizenzzuordnung = 2).Player do
        html(---
    <a href= { urlOf(i.Nr) } target="_self">  { i.(Vorname + " " + Nachname } </a> <br>
    ---)
    end
    

    Da das ein HTML-Befehl ist, wirkt der etws anders als ein Ninox-Befehl.
    D.h. es wird eine neue Browser-Seite geöffnet (hier durch target= _self im selben BrowserTab). Zurück geht hier mit dann dem Browser "Zurück"-Button. Oder einen Ninox-Button bauen, wenn aus den Datensatzinformationen hervorgeht wohin "Zurück" ist.

    VG Ronald

      • Tacho
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Hey Ronald DIGITOOL 

      vielen Dank, werde ich heute Abend mal testen und Response geben.

      • Tacho
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Ronald DIGITOOL 

      leider funktioniert es noch nicht so ganz.

      Problem:
      mit Klick auf einen beliebigen Eintrag wird immer ausschließlich der zu unterst im Berechnungsfeld stehende Datensatz geöffnet. Hast Du eine Idee, warum?

      Der "Zurück"-Button trägt den Code:
      ---
      closeAllRecords();
      openRecord(record(Dashboard,1), "Lizenzen")

      ---
      und tut exakt das was er soll: Er schließt alle Datensätze, öffnet den ersten und einzigen Datensatzes der Tabelle "Dashboard" und wechselt auf die Registerkarte "Lizenzen".

      Lg
      Tacho

    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Tacho

    hm, kann es sein, dass da noch ein Skript im FX Feld "beim anklicken" steht?

      • Tacho
      • vor 2 Jahren
      • Gemeldet - anzeigen

      DIGITOOL 

      ja, der im Ausgangspost genannte.

      Spannend ist, wenn ich jenen Code (bei Anklicken) entferne, passiert anschließend gar nichts beim Klick auf einen Eintrag im Berechnungsfeld.

      • + Maßanzug statt Massenware +
      • RonaldP
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Tacho 

      Sorry, zu wenig Info von mir.
      Für mein Skript, muss in diesem FX-Feld (bei Anklicken) leer sein!
      Da sonst dein Code in (bei Anklicken) statt der Hyperlinks im FX-Feld aufgeführt wird.

      Das garnichts passiert, wenn (bei Anklicken) leer ist, wundert mich.
      Meine Idee funktioniert warscheinlich nur im Browser! Zumindest hab ich das nur dort getestet.
      Wenn du mit der Maus über einen "Link" im FX-Feld drübergehst, wird dieser dann unterstrichen dargestellt und wird dann im Browser der Link angezeigt (bei mir im Firefox links unten)?

      Ich hab dir hier meine DB angehängt. dort funktioniert es so wie von mir gedacht.
      Das FX-Feld ist in Tabelle1.

      Lg Ronald

      • Tacho
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Ronald DIGITOOL 

      ja, "bei Anklicken" war zuletzt leer, bei Mouse-Over wurde der Eintrag unterstrichen dargestellt, als auch der Link im Browser (Chrome) angezeigt. 

      ich hab ein wenig rumgespielt und siehe da, es klappt derzeit mit:
      ---
      for i in select Lizenzen where Art = 1 and Lizenzzuordnung = 2 do
          html(---
      <a href= { urlOf(i.Nr) } target="_self">  { i.(Player.Vorname + " " + Player.Nachname) } </a> <br>
      ---)
      end

      ---

      Besten Dank für Deine Mühe und Hilfe!

      Gruß
      Tacho

      • + Maßanzug statt Massenware +
      • RonaldP
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Tacho 

      das ist ja merkwürdig, dass es bei dir anders funktioniert als bei mir...
      Gerne und hab auch wieder was gelernt dabei ;-)

      Vg Ronald

    • Benjamin_Kunzmann_pr
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi

    je nachdem wieviele Ergebnisse es sind könntest du auch einen Dialog starten.

    Im Dialogtext steht dann deine join Liste mit den jeweiligen record IDs.

    Die klickbaren Auswahlfelder erhältst du aus einem Array aus den Record IDs.

    die Ergebnissabfrage deines Dialoges öffnet dann den ausgewählten record mit 

    popupRecord(record(Kontakte,number(myDialog)))

     

    LG

    Benjamin

      • + Maßanzug statt Massenware +
      • RonaldP
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Benjamin Kunzmann (pr) 

      auch ne schicke Idee.
      Ich bin immer wieder fasziniert, wieviele verschiedene Wege mit Ninox möglich sind.