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.




SP2010 - Dropdownlist von SPLookupField manipulieren / Session in CAML-Query einbeziehen?

Geprüfte Antwort Dieser Beitrag hat 5 Antworten

Ohne Rang
282 Beiträge
MStel erstellt 7 Mai 2018 15:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,
ich möchte die CAML-Query, die eine Dropdownlist beim erstellen eines SPLookupFields füllt manipulieren/einschränken.

Hier etwas konkreter in form eines Beispiels:

Ich habe jeweils eine Gruppe mit Arbeitern und eine Gruppe mit Chefs für Köln und Frankfurt.
Alle Arbeiter werden in einer Liste "Personal" eingetragen und bekommen einen Standort zugewiesen, entweder Köln oder Frankfurt.

Die Chefs müssen anschließend ihrer Firma in einer weiteren Liste Personal zuweisen, dafür habe ich also in der entsprechenden Liste eine Lookup Spalte auf die Liste Personal gemacht und deren Name gemacht.
Soweit so gut, das Problem hierbei ist, dass die Chefs z.B. in Frankfurt in der Dropdownlist nun auch Kölner Arbeiter angezeigt bekommen und zuweisen können.

Soweit ich weiß, steckt dahinter eine CAML Query, die die entsprechenden Werte selektiert, im standardfall alle.

Eine Listenansicht habe ich sowohl über das UI als auch über den sharePoint Designer schon einmal angepasst und bin mit der Syntax vertraut, jedoch ist es mir neu, dass man in diese Abfragen z.B. die Session einlesen kann um u.a. an die Gruppen zu gelangen, in der die aktuell angemeldete Person angemeldet ist.

Daher meine Frage:
Kriege ich es hin, mit CAML eine solch komplexe Abfrage generisch für mein Beispiel zu gestalten?
Wenn nicht, wäre ein denkbarer Lösungsansatz mit einem Content Editor und Javascript dahinter die Daten abzufragen und die Elemente aus der Dropdownlist zu löschen?

Vielen dank im voraus.

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 7 Mai 2018 17:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du kannst das alles komplett vergessen. In 2010 gibt es nur eine Möglichkeit: nach dem Laden der Seite per JavaSCript alle Elemente aus dem DropDown entfernen, die gewünschten Nachladen und einfügen.

Aber Achtung: in 2010 werden die DropDowns komplett unterschiedlich gerendert und müssen entsprechend unterschiedlich behandelt werden, je nachdem, ob mehr oder weniger als 20 (oder 25?) Elemente enthalten sind.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
496 Beiträge
Derby Als Antwort am 7 Mai 2018 17:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Warum wollt Ihr diese Informationen denn in einer SharePoint-Liste haben?

Eine andere Möglichkeit wäre diese INFOs im AD einzutragen (Manager und/oder Standord) und diese mit AD-Import/Synchronisation in die SharePoint-Profile zu bringen und weiterzuverarbeiten?

Ohne Rang
282 Beiträge
MStel Als Antwort am 8 Mai 2018 09:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut
Das Beispiel war ja nur fiktiv. Der bisherige Stand ist natürlich in der Praxis noch wesentlich umfangreicher .. auf jeden Fall ist Anforderung an mich, das ganze sharepoint-seitig zu lösen und das macht eigentlich auch sinn, da die Nutzer das System am ende selbst verwalten sollen und in den Listen und Personen zusätzliche Informationen stehen, die im AD nichts zu suchen hätten.
Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Mai 2018 09:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wie oben geschrieben hast Du keine andere Chance als das mit JS zu lösen. Oder eben einen eigenen Spaltentyp zu entwickeln oder eine der im Web verfügbaren zu verwenden (Suche nach filtered lookup), aber davon würde ich abraten. Das macht bei einer Migration nur Probleme.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
282 Beiträge
MStel Als Antwort am 8 Mai 2018 09:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Es sind mehrere hunderte.. autsch.

nagut das wird wohl etwas aufwendiger

 

Was mir noch eingefallen ist: Wäre es nicht eventuell möglich, mit Listviews zu arbeiten?
eine View mit Personen Köln und Personen Frankfurt und das Target der DDL auf die jeweilige View anstatt ganze Liste umzubiegen?