SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

SP2010 - Im CEWP mit Javascript lookup values in eine variable einlesen

bewertet von 0 Usern
Beantwortet Dieser Beitrag hat 1 Geprüfte Antwort | 4 Antworten | 1 Follower

Top-50-Beitragsschreiber
257 Beiträge
MStel erstellt in 21 Jun 2017 14:29

Hallo,

ich habe in einem Content Editor Webpart JavaScript verwendet und wollte mir zunächst bevor ich mehr mit diesen Werten mache erstmal alles in einem alert ausgeben lassen.

Offensichtlich bin ich problemlos an die liste und ihre Elemente herangekommen, wenn ich mir items.length ausgeben lasse oder auf einzelne Feldwerte abfrage erhalte ich exakt die mit der echten liste übereinstimmenden werte. Die einzige Ausnahme hierbei stellt die Lookup spalte dar, die mir lediglich [object Object] zurückliefert wenn ich versuche darauf zuzugreifen. Hier mein Code:


var context = new SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle("Firmen");
var viewXml = '<View><RowLimit>1200</RowLimit></View>';
var query = new SP.CamlQuery();
query.set_viewXml(viewXml);
this.items = list.getItems(query);
context.load(items, 'Include(FirmenID,lookup_FirmenID,Firmenname)');
context.add_requestSucceeded(onLoaded);
context.add_requestFailed(onFailure);
context.executeQueryAsync();

for (var i = 0; i < items.length; i++) {
var item = items[i];
alert('Firmenname: ' + item["Firmenname"] + '\r\nFirmenID: ' + item["FirmenID"]+ '\r\nLookup: ' + item["lookup_FirmenID"]);

Ausgabe sind die Firmennamen, ID's und anstatt die Lookups, die auf die Id gehen anzuzeigen erhalte ich lediglich [object, Object], wodurch meine IF abfragen ob die ID gleich die Lookup ID sind immer ein false zurückliefern.

Es wäre sehr gut wenn mir jemand helfen würde dieses Problem zu lösen.

mfg

Beantwortet Geprüfte Antwort

Top-10-Beitragsschreiber
Männlich
18.326 Beiträge
Verified by MStel

Die Feldwerte von Lookup sind FieldLookupValue, ähnlich wie Du sie vielleicht serverseitig als SPFieldLookupValue kennst. Sie haben ein lookupId und ein lookupValue Property.

Schaue Dir die Objekte lieber im Debugger an, anstatt in alert-Boxen. Da siehst Du sowas sofort.

Viele Grüße
Andi
af @ evocom de
Blog

Alle Antworten

Top-10-Beitragsschreiber
Männlich
18.326 Beiträge
Verified by MStel

Die Feldwerte von Lookup sind FieldLookupValue, ähnlich wie Du sie vielleicht serverseitig als SPFieldLookupValue kennst. Sie haben ein lookupId und ein lookupValue Property.

Schaue Dir die Objekte lieber im Debugger an, anstatt in alert-Boxen. Da siehst Du sowas sofort.

Viele Grüße
Andi
af @ evocom de
Blog
Top-50-Beitragsschreiber
257 Beiträge

Tatsache,

wenn ich im Debugger mit Haltepunkt das Objekt ansehe und das lookup aufklappe habe ich 2 Eigenschaften, die die Lookup werte und ID's enthalten.
Diese heißen aber sehr seltsam ( $c_1 und $M_1 ) und ich weiß noch nicht wie ich darauf zugreife.

Vielen dank aber schon mal dafür!

Top-10-Beitragsschreiber
Männlich
18.326 Beiträge

Alles, was mit Dollarzeichen anfängt und einen Unterstrich im Namen hat, ist privat und sollte von außen nicht angefaßt werden. In JavaScript gibt es keine echten privaten Felder und man behilft sich gerne mit dieser Namensgebung.

Benutze zum Zugriff die dafür vorgesehenen Methoden. Wenn Du ein Property lookupId lesen möchtest, benutze get_lookupId(). Wenn Du es setzen möchtest, benutze set_lookupId(<value>). Auch so eine JavaScript-Eigenart...

Viele Grüße
Andi
af @ evocom de
Blog
Top-50-Beitragsschreiber
257 Beiträge

Jetzt weiß ich wenigstens wo der Fehler auftritt.. auch wenn mir der Debugger nicht so ganz gefällt

get_lookupValue erscheint allerdings nur, wenn das item ein lookup zugewiesen hat, da dieses sonst null ist und folgende Fehlermeldung erscheint bei folgendem code:

var i = item.get_item("lookup_FirmenID").get_lookupValue();

Das Objekt unterstützt die Eigenschaft oder Methode "get_item" nicht

Habe also vorher eine if item is null abfrage gemacht und lese nur im else den lookup value aus, dann funktioniert es.


Danke dir Andi, mal wieder sehr hilfreich!
mfg

 

Seite 1 von 1 (5 Elemente) | RSS