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.




Dropdownmenü einer Spalte auslesen

Unbeantwortet Dieser Beitrag hat 5 Antworten

Ohne Rang
17 Beiträge
Pyro erstellt 9 Aug. 2016 15:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe eine Aufgabenliste mit einer Spalte "Status". In dieser Spalte kann ein Status aus einem Dropdownmenü ausgewählt werden. Nun möchte ich gerne alle Werte auslesen, die im Dropdownmenü zu Auswahl stehen.

Ich habe die Liste soweit auslesen können, dass ich eine Variable "listItem" habe, welche alle Informationen enthalten müsste. Mir ist aber nicht klar wie ich die möglichen Auswahlmöglichkeiten aus dieser Variable auslesen kann.

 

function DropDownLesen() {
    var ctx = new SP.ClientContext.get_current();
    var list = ctx.get_web().get_lists().getByTitle("Tasks");
    var listItem = list.get_fields().getByInternalNameOrTitle("Status");

    ???
}

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Aug. 2016 16:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich würde die Variable nicht listItem nennen - es ist ein Field. Und so kommt man an die Choices:

http://spdailytips.blogspot.de/2011/11/retrieve-all-choice-field-values-using.html

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
Pyro Als Antwort am 10 Aug. 2016 12:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn ich den Code so übernehme bekommen ich eine Fehlermeldung:

Sys.ArgumentNullException: Sys.ArgumentNullException: Value cannot be null.
Parameter name: clientObject

Dies scheint daran zu liegen das bei "context.load();" die Klammer leer ist. Ich habe stattdessen "context.load(deptChoiceField);" verwendet, so wie hier beschrieben: https://haseebakhtar.wordpress.com/2012/07/10/how-to-retrieve-all-choice-field-values-using-ecmascript-sharepoint-2010/

Mein Code sieht jetzt folgendermaßen aus:

function GetChoiceValues() {
    var context = new SP.ClientContext.get_current();
    var web = context.get_web();
    //context.load();
   
    var taskList = web.get_lists().getByTitle("Tasks");
    var field = taskList.get_fields().getByInternalNameOrTitle("Status"); 
    var deptChoiceField = context.castTo(field,SP.FieldChoice);
    context.load(deptChoiceField);
    context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod),Function.createDelegate(this, this.onFailureMethod));
}
   
function onSuccessMethod(sender, args) {
    alert("Test 1");
    var choices = deptChoiceField.get_choices();
    alert("Test 2");
    listBoxControl1.Items.Add(choices);
    alert("Choices: (" + choices.length + ") - " + choices.join(", "));
}

function onFailureMethod(sender, args) {
    alert("failed. Message:" + args.get_message());
}

Ich bekomme nun keine Fehlermeldung mehr, mir wird aber auch nur "Test 1" ausgegeben. Kann es sein das "deptChoiceField.get_choices();" so nicht mehr in Sharepoint 2013 funktioniert? Oder ist ein anderer Fehler im Code?

 

Gruß
André

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Aug. 2016 13:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Die Variable deptChoicesField ist in der Funktion GetChoiceValues definiert und deshalb in onSuccessMethod unbekannt. Das hättest Du aber im Debugger selbst sehr leicht feststellen können...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
Pyro Als Antwort am 11 Aug. 2016 15:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ah danke für den Tip jetzt funktioniert es auch ;)

@Patrick:
Danke für den Link, dass wird evtl. später intressant für mich. Ich habe mir die Seite auf jeden Fall einmal notiert. :)

 

Gruß
André

Ohne Rang
234 Beiträge
Patrick Als Antwort am 10 Aug. 2016 13:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hey Pyro,

ich habe vor kurzem auch mal einen Blogbeitrag geschrieben indem es darum geht, einen speziellen Dropdownwert automatisch zu setzen.

Vielleicht ist das ja auch interessant für dich.

https://afrait.com/blog/auto-populate-list-column-de/

Grüße

 

Patrick

Zu meinem SharePoint Blog: afraIT