SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




SharePoint Filtered Lookup Field

Unbeantwortet Dieser Beitrag hat 10 Antworten

Ohne Rang
101 Beiträge
Summerle00 erstellt 7 Feb. 2017 20:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo

ich habe einen LookUp field, das auf der richtigen Seite nach Angeboten schaut. Also Informationen kommen aus: Angebote, in dieser Spalte: Titel. Allerdings möchte ich nicht einfach alle Angebote zur Auswahl haben, sondern nur offene. Die Angebote enthalten auch eine Spalte namens erledigt, jedoch wird mir diese unter "in dieser Spalte" nicht angezeigt. Weiß jemand warum mir das nicht angezeigt wird?
Ich hatte gehofft, dass ich damit nach den offenen Aufträgen filten könnte.  

Danke!

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Feb. 2017 08:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also out-of-the-box gibt es da keine Funktion dafür. Bei den Lookups stehen nicht alle Spaltentypen zur Verfügung und "Erledigt" ist wohl ein solcher "exotischer" Typ. Aber selbst wenn Du sie zur Verfügung hättest, kannst Du die Auswahl nicht danach filtern.

Es gibt im Web diverse Lösungen für gefilterte Lookups, z.B. auf Codeplex. Die sind zwar komfortabel, aber eben Farm Solutions und die würde ich heute nicht mehr unbedingt verwenden - Stichwort cloud-ready.

Besser ist hier JavaScript. Damit kann man entweder direkt in das Rendering eingreifen (Stichwort CSR/JSLink) oder eben nachträglich das DropDown bearbeiten. Man kann damit einfach alle Auswahlmöglichkeiten entfernen und dann nur die gewünschten per CAML-Abfrage aus der Nachschlageliste holen und zur Auswahl einfügen. Achtung beim nachträglichen Bearbeiten: ein Element könnte ja einem Angebot zugewiesen sein, das inzwischen erledigt ist. Man muß dieses dann also trotzdem zur Auswahl anbieten bzw. drinlassen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
101 Beiträge
Summerle00 Als Antwort am 8 Feb. 2017 09:59
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für die Antwort Andi, ich hatte gehofft ums scripten Drumherum zu kommen.

Könnt ihr alle denn auch scripten? Sollte ich mir das schleunigst aneignen?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Feb. 2017 10:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Summerle00"]Könnt ihr alle denn auch scripten?[/quote]

Ich kann nicht für uns alle sprechen, bin selbst aber seit vielen Jahren Entwickler :-)

Ob Du Dir das aneignen solltest, kann ich nicht sagen. Das hängt von Deinem Job/Deinen Aufgaben ab. Wenn man SharePoint aber wirklich ernsthaft einsetzen möchte, kommt man um JavaScript nicht herum. Das ist einfach das Mittel der Wahl um "mal eben" kleinere (oder auch größere) Anpassungen zu machen. Und JavaScript ist einfach die Sprache des Webs, d.h. wenn man mit Webanwendungen wie SharePoint zu tun hat, ist es oft die einzige Möglichkeit etwas zu erreichen. Das gilt auch für eigene Entwicklungen rund um SharePoint wie z.B. Apps / AddIns. Oder zukünftig das sog. SharePoint Framework, das ausschließlich JavaScript ist.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
101 Beiträge
Summerle00 Als Antwort am 8 Feb. 2017 11:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ok, danke. Dann komme ich wohl nicht Drumherum.

Ich habe zu dem Thema noch folgenden Beitrag (https://www.linkedin.com/pulse/20140717203332-36740435-sharepoint-filtered-lookup-column ) gefunden und möchte das ausprobieren. Allerdings bleibe ich bei den berechneten Feldern hängen.

So sieht meine Formel aus:
=(Wenn[Erledigt]="true","Ja")

, ich habe es auch mit 1 probiert, mit "Yes" und true ohne Anführungszeichen. "Erledigt" ist schon eine vorhandene Spalte, welche ein Kontrollkästchen ist. Ich bekomme leider Syntax-Fehler angezeigt. Was mache ich denn falsch?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Feb. 2017 11:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Summerle00"]ich habe es auch mit 1 probiert, mit "Yes" und true ohne Anführungszeichen[/quote]

Bei einem Ja/Nein-Feld ist auch die Anleitung falsch. Man benutzt dabei immer TRUE/FALSE ohne Anführungszeichen bzw. in einer deutschen Website WAHR/FALSCH.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
101 Beiträge
Summerle00 Als Antwort am 8 Feb. 2017 12:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke, Deine Antwort hat mir geholfen und ich habe jetzt folgendes:
=WENN(Erledigt=FALSCH;Titel)

Gibt es auch eine Möglichkeit, dass nichts angezeigt wird, wenn erledigt Wahr ist? Wenn ich die zweite Ausgabe (...Titel;X) weglasse, bekomme ich "Nein" und dann 0. Wenn ich "" hinschreibe habe ich 0 und bei " " wird die Liste ganz leer. Oder muss ich das Ergebnis weitergeben an eine andere Spalte und dann da noch einmal filtern?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Feb. 2017 12:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das sollte eigentlich mit einem leeren String "" funktionieren. Ist das berechnete Feld auch als Text formatiert? Die einfachste Form dürfte so aussehen:

=WENN([Erledigt];"";[Titel])

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
101 Beiträge
Summerle00 Als Antwort am 8 Feb. 2017 13:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Beim leeren String bekomme ich 0 angezeigt. Das Feld ist auch als Text formatiert.

Bei meiner und Deiner Formel werden am Anfang alle offenen Aufträge gezeigt und dann folgen für die geschlossenen jeweils eine Null.

Ohne Rang
101 Beiträge
Summerle00 Als Antwort am 8 Feb. 2017 13:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielleicht liegt es daran, dass das Feld "Erledigt" ein Kontrollkästchen ist und gibt es immer ein Rückgabewert ?!

Ohne Rang
101 Beiträge
Summerle00 Als Antwort am 8 Feb. 2017 13:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

=WENN(Erledigt=FALSCH;Titel;(WENN(Erledigt=WAHR;""))) Damit werden mir schon einmal die "Nein" nicht mehr angezeigt.

Bleiben nur noch die Nullen. Aber wenn ich eingebe Erledigt=null oder "null" oder 0 oder "0" hat das leider keine Auswirkungen. Hat jemand noch eine Idee?

Gibt es gar keinen Else Befehl,? Dann müsste ich die Fälle gar nicht durchgehen.