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.




Gruppieren und Anzahl der Datensätze programmatisch ermitteln [Sharepoint-Liste, Visual Studio, C#]

Geprüfte Antwort Dieser Beitrag hat 2 Antworten

Ohne Rang
242 Beiträge
Peter Oswald erstellt 18 Apr. 2013 20:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ja, ich weiß, "dann google doch" - hätte ich jetzt auch gesagt bei o. g. Frage. Doch so schwierig hätte ich mir diese offensichtlich einfache Frage nicht vorgestellt:

wie komme ich programmatisch in einer gruppierte Sharepoint-Liste an die Anzahl der Datensätze pro Gruppe?

  • CAML bietet so etwas nicht
  • die einen faseln von DOM-Objekten auslesen und per HTML-Wrapper die Summe ermitteln
  • die nächsten faseln von geht nur über javascript
  • und die letzten faseln von nimm den CAML-Designer und lerne Grundlagen => zurück zu Punkt 1

Ah, doch, einen Ansatz fand ich ganz schick: lass Dir alle Items geben und gruppiere dann per LINQ. Nur leider kann ich in einem Sharepoint-Projekt  kein LINQ einbinden (oder doch...!?).

He, Leute, gibt's doch nicht, dass eine so vordergründig einfache Sache wieder so kompliziert ist. Manchmal heißt SP nicht nur SharePoint, sonder sehr problematisch... :-=

Viele Grüße

P.

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 19 Apr. 2013 08:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Zunächst mal eine wichtige Frage: möchtest Du die Datensätze einer bereits vorhandenen Ansicht? Dann ist das eine clientseitige Aufgabe, also mit JavaScript zu lösen.

Oder möchtest Du was auch immer rein serverseitig machen, d.h. eine Liste abfragen um die Datensätze zu ermitteln (und sie vielleicht auch darstellen)? Dann geht das mit serverseitigem Code und da gibt's dann mehrere Möglichkeiten. CAML ist eine Möglichkeit. Es gibt da sehr wohl Gruppierungen und Aggregationen, d.h. man kann mit einer einzigen Abfrage gruppierte Daten ermitteln. Und es gibt Linq to SharePoint, das in jedem SharePoint-Projekt zur Verfügung steht (Stichwort SPMetal). Und es gibt natürlich die Möglichkeit das per eigenem Code zu machen, d.h. alle Listenelemente durchgehen und selbst gruppieren/summieren. Du kannst es Dir also aussuchen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
242 Beiträge
Peter Oswald Als Antwort am 19 Apr. 2013 11:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

nun, die Lösung liegt offenbar darin, dass man nach einem 10-Stunden-Tag nicht noch abends um halb neun halbblödsinnige Fragen in den Äther blahen und besser sich mit einem schönen Glas Rotwein auf das Wohnzimmersofa setzen sollte . Soll heißen: meine Fragerei war einfach zu voreilig, und Andi, du hast natürlich Recht; da habe ich die Wahl wie ich es machen will. Und dass ich da komplett verpeilt war, sieht man ja schon daran, dass ich verzweifelt versuchte, eine Referenz auf System.Linq zu ziehen, was komplett unnötig ist, denn es genügt ja ein simples

using System.Linq

und schon kann man sich bspw. an

http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/03/26/how-to-use-the-group-clause-in-linq.aspx

halten. Und alles wird gut. Schön, dass wir darüber gefaselt haben.

Vielen Dank.