2017-11-21 1 views
0

Ich habe zwei Tabellen: Users und Tasks. Jede User kann viele Tasks haben, aber jede Task kann nur eine User haben.Master-Detail-Ansicht mit einem gefundenen Satz

Wenn ich im ersten Layout auf John Smith klicke, werde ich zu einem neuen Layout gebracht, das mir nur Johns Aufgaben zeigt (dank "Gehe zum zugehörigen Datensatz" -Skript).

Nun, was ich versuche zu erreichen - und brauche Hilfe mit - ist von diesem Layout möchte ich in der Lage sein, eine Scroll-Liste aller Johns Aufgaben auf der linken Seite (aber nur ihre Titel) zu sehen. Wenn ich z. B. Task 20 auswähle, möchte ich alle Metadaten von Task 20 auf der rechten Seite sehen. Mit anderen Worten, wie dies ein Master-Detailansicht:

enter image description here

folgte ich diesen video tutorial, die mich zu meinem Ziel nahe kam, aber nicht den ganzen Weg. Wenn Sie zur 6:20 Marke springen, können Sie sehen, was er tut. Aber im Grunde seine Vorgehensweise ist dies:

  • Aus dem Layout Kontakte erstellt er ein Portal.
  • Er eine Zusammenfassung Feld namens ListOf erstellt und wählt aus der Kontakt Tabelle eine „Liste des“ IDs erstellen
  • er eine Beziehung aus dem ID-Feld erzeugt und die ListOf Feld
  • er das Portal mit diesen Daten auffüllt
  • Er benutzt ein Skript zu „verknüpften Datensatz zu gehen“, wenn der Benutzer auf eine Schaltfläche in der Zeile klickt

Dieser Ansatz funktioniert gut für die Master-Detail-Ansicht, aber es hat ein Problem für mich. Ich möchte nicht alle Aufgaben sehen, nur Johns Aufgaben (oder wen auch immer ich im vorherigen Layout angeklickt habe).

Nicht sicher, wie man das löst. Muss ich ein "Constrained Found Set" erstellen, wenn ich von John Smiths Datensatz im vorherigen Benutzer-Layout navigiere?

Antwort

1

Zuerst würde ich ein Standard-Portal auf der linken Seite haben, mit einem kartesischen Join, um alle Datensätze anzuzeigen, oder Sie können diese Technik mit dem Übersichtsfeld verwenden, wenn Sie möchten, aber es ist nicht notwendig.

Fügen Sie dann dem Portal einen Filter hinzu, um nur Datensätze mit derselben Benutzer-ID wie der aktuelle Datensatz anzuzeigen. Dies wird erreichen, was Sie brauchen.

+0

Was ist ein kartesischer Join? ist es der Join-Typ "X"? – colindunn

+0

Und wie filtern Sie nach dem aktuellen Datensatz? – colindunn

+1

Ja, ein x beitreten. Filter wie folgt: User :: UserID = Task :: UserID. Mit Ihren eigenen Id-Feldern. – AndreasT

Verwandte Themen