kickerxy123
Erfahrenes Mitglied
Guten Tag,
ich habe ein Problem beim Gruppieren/Sortieren einer SharePoint-Liste per XSL.
Wenn ich nach etwas sortiere und gleichzeitig nach etwas gruppiere, so ist er Output schematisch:
GROUP1: A B C D
GROUP2: E F G
GROUP1: H
GROUP2: I J
....
d.h. er priorisiert das Sortieren über das Gruppieren. Ich hätte es gern genau anders herum.
Deshalb hatte ich mehrere Ansätze:
In dem CodeSegment wird das Template aufgerufen, dass alle Reihen der Liste rendert. Mein Ansatz war es, den Parameter "Rows" bereits richtig sortiert zu übergeben. Kann ich das irgendwie realisieren?
oder: Innerhalb des Templates geschieht folgendes:
Jetzt hätte ich gedacht, dass ich ein xsl:sort in die FOR-Schleife einbaue und dann mein Problem gelöst ist. Leider nicht.
Generell war mein Ansatz:
-Sortiere nach dem, nach dem er gruppieren soll
-Sortiere danach nach dem, nach dem er sortieren soll
Ich denke, dass mein Ansatz realisierbar ist (Zwei einfache xsl:sort hintereinander bewirken dies ja normalerweise auch so).
Ich hoffe, dass ihr mir helfen könnt. Falls ihr noch weitere Angaben braucht, zögert nicht zu fragen. Ich wollte allerdings nicht alle 3000 Zeilen anhängen
Danke und Gruß,
kickerxy
ich habe ein Problem beim Gruppieren/Sortieren einer SharePoint-Liste per XSL.
Wenn ich nach etwas sortiere und gleichzeitig nach etwas gruppiere, so ist er Output schematisch:
GROUP1: A B C D
GROUP2: E F G
GROUP1: H
GROUP2: I J
....
d.h. er priorisiert das Sortieren über das Gruppieren. Ich hätte es gern genau anders herum.
Deshalb hatte ich mehrere Ansätze:
HTML:
<xsl:call-template name="dvt_1.body">
<xsl:with-param name="Rows" select="$Rows[position() >= $FirstRow and position() <= $LastRow]" />
<xsl:with-param name="FirstRow" select="1" />
<xsl:with-param name="LastRow" select="$LastRow - $FirstRow + 1" />
</xsl:call-template>
oder: Innerhalb des Templates geschieht folgendes:
HTML:
<xsl:template name="dvt_1.body">
<xsl:param name="Rows"/>
<xsl:param name="FirstRow" />
<xsl:param name="LastRow" />
<xsl:for-each select="$Rows">
<!--...jetzt kommen alle Spalten, Formatierungen etc -->
</xsl:for-each>
Jetzt hätte ich gedacht, dass ich ein xsl:sort in die FOR-Schleife einbaue und dann mein Problem gelöst ist. Leider nicht.
Generell war mein Ansatz:
-Sortiere nach dem, nach dem er gruppieren soll
-Sortiere danach nach dem, nach dem er sortieren soll
Ich denke, dass mein Ansatz realisierbar ist (Zwei einfache xsl:sort hintereinander bewirken dies ja normalerweise auch so).
Ich hoffe, dass ihr mir helfen könnt. Falls ihr noch weitere Angaben braucht, zögert nicht zu fragen. Ich wollte allerdings nicht alle 3000 Zeilen anhängen

Danke und Gruß,
kickerxy