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.




C# alle Listenelemente in eine Arraylist schreiben

Geprüfte Antwort Dieser Beitrag hat 2 Antworten

Ohne Rang
282 Beiträge
MStel erstellt 23 Sept. 2015 09:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 23 Sept. 2015 11:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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
Ohne Rang
282 Beiträge
MStel Als Antwort am 23 Sept. 2015 14:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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
   }
  }
 }
}