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.




Zusammengesetzte Datenquellen filtern

Unbeantwortet Dieser Beitrag hat 4 Antworten

Ohne Rang
17 Beiträge
M4nTis erstellt 10 Aug. 2010 15:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,

ich habe folgendes Problem:

ich habe zwei Datenquellen zusammengefügt und möchte nun sagen: Wenn der Eintrag aus der Liste A kommt, dann nimm XY, wenn der Eintrag aus Liste B kommt, dann nimm ZZ!

ich versuch dies gerade per xsl, hier mein Ansatz:

<xsl:choose>
<xsl:when test="contains(agg:source,'mitarbeiter') = true">
<a href="myLink" >Bearbeiten</a><br /><br />
</xsl:when>


<xsl:otherwise>
<a href="myLink2" >Bearbeiten</a><br /><br />
</xsl:otherwise>
</xsl:choose>

ich möchte jetzt sagen: "teste ob "mitarbeiter" im Namen der Quelle vorkommt, wenn true: nimm myLink, sonst nimm myLink2"

Aber irgendwie funktioniert der Zugriff auf die Quelle noch nicht. Kann mir da jemand nen Tip geben? Oder eine andere Herangehensweise empfehlen?

Gruß,

Flo

 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Aug. 2010 15:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

In XSL gibt es immer den sog. Kontextknoten und von diesem aus gesehen, mußt Du die gesuchten Elemente adressieren.#

Ich nehme an, daß Du obiges bei einem Element unterhalb von agg:source ausführst und es deshalb nicht gefunden wird.

Außerdem funktioniert Dein Vergleich so nicht, aber ich nehme an, daß das nur ein Schreibfehler hier im Forum ist. Entweder Du schreibst
[...] = true()
oder noch besser, Du läßt das einfach weg - contains() liefert bereits true oder false.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
M4nTis Als Antwort am 10 Aug. 2010 15:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

danke für deine Antwort!

ich habe es hiermit versucht:

<xsl:when test="contains('../@agg:source','mitarbeiter')">

damit funktioniert es aber irgendwie auch nicht.

ich habe jetzt eine andere Lösung gefunden. Ich hab in beide Listen eine Spalte "auswahl" erstellt. In einer der beiden Listen ist es eine Berechnete Spalte, in die ich die ID schreibe. In der anderen Liste bleibt sie leer.

meine Abfrage lautet nun "ist auswahl = ' ', dann nimm myLink1" etc...

eine vielleicht nicht so schöne Lösung, aber so klappt es :-)

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Aug. 2010 15:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="M4nTis"]<xsl:when test="contains('../@agg:source','mitarbeiter')">[/quote]

Lasse die Hochkomma um ../@agg:source weg. Ob das @ dort hin gehört, weiß ich gerade nicht (glaube nicht). Außerdem bist Du wohl auf Ebene von Row. agg:source ist zwei Ebenen höher.

 [quote user="M4nTis"]eine vielleicht nicht so schöne Lösung, aber so klappt es :-)[/quote]

Pfui. Versuche doch diese Tips noch, dann kannst Du das immer noch so machen :-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
M4nTis Als Antwort am 10 Aug. 2010 16:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

ich bekomm immer wieder

"Verweis auf ein nicht deklariertes Namespace-Präfix:'agg' "

als Fehlermeldung...und weiß damit leider nicht viel anzufangen