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

C# alle Listenelemente in eine Arraylist schreiben

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

Top-50-Beitragsschreiber
276 Beiträge
MStel erstellt in 23 Sep 2015 9:38

Hallo,

ich habe bereits eine voll funktionsfähige SiteCollection eingerichtet. Innerhalb dieser existieren einige Listen, welche auch schon Einträge enthalten.
Nun möchte ich zwecks Auswertung in C# ein SP Projekt (SPTimerJob) erstellen welches mit den Spalten/Feldern von Listen und deren Werten arbeiten soll.
Leider komme ich nur nicht so ohne weiteres an meine Werte. Ich möchte wirklich nur ein ganz simples "Feld-Wert" Prinzip, bestenfalls einfach über ID in einer Zählvariable, die in einer foreach Schleife jedesmal um 1 erhöht wird bis alle Listenelemente ausgelesen wurden.

Nachdem ich ein Item mit list.GetItemByIdSelectedFields auswähle, weiß ich trotzdem nicht wo die Nutzwerte die ich eigentlich benötige sich befinden. In den Properties stehen diese jedenfalls nicht, dort bekomme ich nur die FieldNames angezeigt.

Über eine Query/View würde ich das ganze nur ungerne lösen, wie es in der MSDN beispielshalber realisiert wird.

Danke im vorraus

MFG
MStel

Beantwortet Geprüfte Antwort

Top-10-Beitragsschreiber
18.847 Beiträge
Verified by MStel

SPList.GetItemByIdSelectedFields liefert ein SPListItem und dort kommst Du an die Werte immer über einen Indexer. Zum Zugriff kannst Du entweder die Guid oder den internen Namen des gewünschten Feldes verwenden. So kommst Du z.B. an den Titel:

string title = item["Title"];

Viele Grüße
Andi
af @ evocom de
Blog

Alle Antworten

Top-10-Beitragsschreiber
18.847 Beiträge
Verified by MStel

SPList.GetItemByIdSelectedFields liefert ein SPListItem und dort kommst Du an die Werte immer über einen Indexer. Zum Zugriff kannst Du entweder die Guid oder den internen Namen des gewünschten Feldes verwenden. So kommst Du z.B. an den Titel:

string title = item["Title"];

Viele Grüße
Andi
af @ evocom de
Blog
Top-50-Beitragsschreiber
276 Beiträge
MStel Als Antwort auf 23 Sep 2015 14:04

Spitze! Funktioniert einwandfrei. Habe diese Code-Schreibweise in C# noch nicht vorher verwendet/gesehen.
Hier mein Code für Interessierte:

using (SPSite site = new SPSite("http://samplesite "))
{
 using (SPWeb web = site.OpenWeb())
 {
  SPList list = web.Lists["Liste"];
  foreach (SPListItem listItem in list.Items)
  {
   foreach (SPField field in list.Fields)
   {
    string title = listItem["Feldname"].ToString();
    #string abspeichern
   }
  }
 }
}

Seite 1 von 1 (3 Elemente) | RSS