2016-08-31 4 views
0

Was will ich zu archivieren:Get Value für Feldnamen in Sharepoint 2013

ich mehrere Werten aus einer Tasklist in Sharepoint 2013 über einen Timer Job auszuwählen versuchen. Ich versuche, den % completed Wert zu erhalten, um festzustellen, in welchem ​​Vollzugszustand die aktuelle Aufgabe ist.

Was ich bisher getan haben:

Ich habe folgenden Code, die so bald verwendet wird, wie der Job ausgeführt wird:

public override void Execute(Guid targetInstanceId) 
{ 
    SPWebApplication webApp = this.Parent as SPWebApplication; 
    SPSite siteCollection = webApp.Sites[5]; 
    SPListCollection taskListCollection = webApp.Sites[5].RootWeb.Lists; 
    SPList taskList = taskListCollection.TryGetList("TestCustomTasks"); 
    SPListItemCollection Items = taskList.Items; 
    foreach (SPListItem item in Items) 
    { 
     SPField xyz = item.Fields.TryGetFieldByStaticName("% Complete"); 
    } 
} 

Mein Problem:

Alles funktioniert gut bis SPField xyz ... aber die Variable xyz ist Null. Er scheint diese Spalte nicht zu kennen. Aber es ist da:

enter image description here

Ist es wegen eines missspelling im Funktionsaufruf oder ich vermisse etwas?

+0

ich den internen Namen des "% abgeschlossen" Feld glauben ist 'PercentComplete'. Haben Sie versucht, das anstelle von "% Complete" zu verwenden? – Thriggle

Antwort

1

Ich habe es so gemacht:

foreach (SPListItem item in Items) 
{ 
    bool assadfsdasdad = item["PercentComplete"].ToString().Equals("1"); 
} 

.ToString().Equals("1") nur für eine schnelle Überprüfung, ob der Wert in einem erwarteten Zustand befindet.

Danke trotzdem für alle Ihre Vorschläge und Antworten, auf eine Out-of-the-box-Aufgabenliste)

1

Versuchen Sie, diese

SPField xyz = item.Fields.TryGetFieldByStaticName("PercentComplete"); 
+0

aber damit bekomme ich nicht den aktuellen Wert des Listeneintrags für dieses Feld. Ich bekomme das Feld, aber das ist nicht, was ich archivieren möchte (siehe Frage) – Snickbrack

+0

Ihr Vorschlag ist nur für das Feld, aber nicht für den Wert dieses Feldes ... Siehe meine Antwort für meine Lösung. – Snickbrack