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.




Datenquellenfilter per Webpart setzen

Geprüfte Antwort Dieser Beitrag hat 5 Antworten

Ohne Rang
4 Beiträge
MoritzF erstellt 20 Feb. 2013 17:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe folgendes Problem: Ich habe im SharePoint Designer einen externen Inhaltstypen angelegt, der sich über WebServices verschiedene Daten holt. Anschließend habe ich mit die Vorgänge "Liste lesen" und "Element lesen" erstellt und eine Liste angelegt.

Innerhalb der Vorgänge habe ich einen Standardwert als Übergabeparameter eingetragen, was auch alles so funktioniert. Über "Liste/Ansicht ändern" kann ich den Datenquellenfilter ändern und die Liste ändert sich entsprechend (in diesem Fall: Eingabe der Kundennummer führt zu Anzeige der Daten zu dem Kunden). Alles schön und gut.

Vielleicht ist meine Frage auch zu basic und ich finde deshalb nichts dazu: Wie kann ich diesen Datenquellenfilter aus einem anderen Webpart (z.B. HTML-Form) übernehmen?

 

Danke schonmal!

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Feb. 2013 17:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn eine Spalte als filterbar angelegt ist (hast Du ja offenbar für die Kundennummer), dann kann man sie auch über den Spaltenkopf filtern. In diesem Fall werden die Filterbedingungen an die URL angehängt. Schaue Dir das mal an. Du mußt das andere Webpart dann nur dazu bringen eine solche URL zu erzeugen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
4 Beiträge
MoritzF Als Antwort am 21 Feb. 2013 08:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi, danke für die Antwort. Ich will aber vermeiden, die Liste im Frontend zu filtern, weil sie zu viele Elemente enthält.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 21 Feb. 2013 09:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dann wirst Du ein Webpart entwickeln müssen, das die Daten gefiltert abruft (SPQuery) und selbst darstellt (SPGridView).

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
4 Beiträge
MoritzF Als Antwort am 21 Feb. 2013 09:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe mal mit der Business Data List experimentiert. Die macht eigentlich genau das, was ich brauche, ich kann nur die Elemente nicht anklicken, um weitere Details anzuzeigen.

Ein eigenes Webpart dafür zu entwickeln scheint mir ein wenig übertrieben. Über Ansicht ändern kann ich den Filter ja direkt so anpassen wie ich will. Gibt es keine Möglichkeit, dort anstatt einen festen Wert irgend eine Variable einzutragen (und sei es in der XML-Ansicht)?

Ohne Rang
4 Beiträge
MoritzF Als Antwort am 28 Feb. 2013 10:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Habe das Problem jetzt endlich lösen können:

Im SharePoint Designer in der Codeansicht habe ich zwei Parameter definiert:

<ParameterBindings>
	...Viele Parameter von Sharepoint...
   	<ParameterBinding Name="knr" Location="QueryString(knr)" DefaultValue=""/>
   	<ParameterBinding Name="status" Location="QueryString(status)" DefaultValue=""/>
</ParameterBindings>

Anschließend konnte ich über "Verbindungen verwalten" eine neue Verbindung einrichten. Im Assistenten habe ich erst "Parameter abrufen von", dann "Mit einem Webpart auf dieser Seite...", Zielaktion: "Formularwerte bereitstellen für". Anschließend kann man die Formularwerte den Parametern zuordnen.

Im letzten Schritt musste ich die Parameter in den Datenquellenfilter einfügen. Dies macht man, indem man den Namen des Parameters in geschweiften Klammern einträgt. Im Code sieht das ganze folgendermaßen aus:

<Method Name="GetCasesByExternalIdStatus">
	<Filter Name="ExternalID" Value="{knr}"/>
	<Filter Name="Status" Value="{status}"/>
</Method>