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.




Quell-Liste und Werte von Lookup-Felder zurückgeben (Nachschlagefelder)

Unbeantwortet Dieser Beitrag hat 2 Antworten

Ohne Rang
17 Beiträge
Green Horn erstellt 20 März 2012 12:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe folgendes Problem:

Ich habe eine Liste, welche mehrere Lookup-Felder beinhaltet. Wenn ich ein bestimmtes Listenelement ausgebe, möchte ich zusätzlich zu den Werten, auch die kompletten Werte der Lookup-Felder mit angeben.

Es soll so dynamisch wie möglich sein. Sprich, wenn weitere Informationen hinzugefügt werden, dann sollen diese auch ohne Anpassung des Codes ausgegeben werden, da vielleicht in Zukunft noch weitere Listen eingefügt und verknüpft werden.

Es würde mir reichen, wenn ich die Namen der Listen bekommen würde, welche bei den Lookup-Felder eingesetzt werden.

Codebeispiel:

foreach (SPListItem item in listItemsCollection)
                    {
                        for (int i = 0; i < item.Fields.Count; i++)
                        {
                                if (item[i] is SPFieldLookupValue)
                                {
                                    SPFieldLookupValue lookUpValue = (SPFieldLookupValue)item[i];

                                    // AUSGABE LOOKUPVALUE.LookupValue

/* HIER SOLLTEN JETZT NOCH ALLE WEITEREN INFORMATIONEN AUS DER LISTE DES  REFERENZIERTEN LOOKUP-FELDES AUSGEGEBEN WERDEN */
                                }
                                else
                                {
                                    // AUSGABE von "kein-Lookup" ITEM
                                }
                            }

                     }

EDIT: Ich habe vergessen zu erwähnen, dass ich für die Lookup-Felder, die Lösung von I Love Sharepoint benutze (mit Picker), da ich sehr viele Elemente in den Listen habe.

 

Hoffe ich hab es verständlich dargestellt und ich bedank mich schonmal für die Hilfe!

 

Gruß

Green-Horn

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 März 2012 14:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Green Horn"]Ich habe vergessen zu erwähnen, dass ich für die Lookup-Felder, die Lösung von I Love Sharepoint benutze [/quote]

Ich weiß jetzt nicht, was Christian da eingebaut hat. Evtl. solltest Du Dir selbst den Quellcode anschauen.

Bei einem normalen Lookup bekommst Du über LookupWebId die GUID der Website, in der nachgeschlagen wird (das muß ja nicht die aktuelle sein). Über LookupList bekommst Du die GUID der Liste, in der nachgeschlagen wird.

Ich würde das an Deiner Stelle aber außerhalb der Schleife erledigen. Die Schleife geht ja über viele Listenelemente und es ist sinnlos, jedesmal neu ein SPWeb und ein SPList zu erzeugen. Gehe lieber vorweg in einer Schleife über alle Felder die Spalten durch und hole Dir alle Nachschlage-Webs und -Listen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
Green Horn Als Antwort am 20 März 2012 14:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielen Dank für die Antwort und für den Tipp. Hab hier die Lösung auf dieser Seite gefunden:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfieldlookup.lookupwebid.aspx