Aus Excel kennt man den Komfort, Zwischenresultate zu berechnen und anschliessend das Total. In SharePoint 2010 stösst bei gleichem Vorgehen rasch an eine Grenze. Will man z.B. Spesen berechnen und anschliessend das Gesamttotal, geht das nicht ohne Umwege.
Ich stelle hier eine Lösung vor, wie es mit etwas JavaScript Clientseitig funktioniert.
Für SharePoint 2007 (Windows SharePoint Services 3) hat Paul Grenier bereits ein funktionierendes JavaScript erstellt, basierend auf jQuery. Ich habe dieses portiert für SharePoint 2010.
Voraussetzungen:
- Im SharePoint View muss eine Gruppierung eingerichtet sein (egal, für welche Spalten)
- Gruppierungen werden standardmässig eingeklappt („reduziert“) angezeigt
- Die berechnete Spalte, von der das Total berechnet werden soll, muss ganz rechts sein
Einbindung:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script> <script src="TotalBerechneterSpalte.js" type="text/javascript"></script
Download: Total-Calculated-Colum.js
In SharePoint 2010 werden die gruppierten Daten per AJAX nachgeladen werden, aber etwas anders als in WSS 3. In meiner Lösung wird alle 100 Millisekunden geprüft, ob die Daten schon vollständig geladen wurden (CalcGroupCallbackInterval). Eleganter wäre natürlich, den Callback abzufangen. Falls du eine Lösung dafür hast, schreib sie mir doch. Oder auch, falls du eine alternative oder bessere Lösungen hast.