In SharePoint Servern gibt es Filterwebparts, mit denen der Nutzer die angezeigten Inhalte einer Liste oder Dokumentbibliothek filtern kann. So kann man einen Textfilterwebpart über eine Liste setzen und mit Hilfe des SharePoint Designers einen Filterparameter erstellen, der die Liste mit dem Vergleichsoperator enthält filtert.
Was aber, wenn Sie Sharepoint Foundation im Einsatz haben? Keine Bange. Hier hilft Ihnen der HTML-Formular-Webpart als Ersatz für den Textfilter-Webpart. In diesem Artikel beschreibe ich, wie Sie mit einem Formular-Webpart eine Liste (oder Dokumentbibliothek) filtern, und zwar mit Wildcards. Die Lösung funktioniert sowohl auf SharePoint 2010 als auch auf SharePoint 2013. Nehmen wir an, Sie haben eine Dokumentbibliothek, die mit einem Filter-Webpart versehen werden soll, in dem die Nutzer nach Stichworten aus dem Namen und aus dem Titel der Dokumente filtern können.
Der erste Teil wird am einfachsten im Browser erstellt:
- Erstellen Sie zunächst eine neue Ansicht dieser Dokumentbibliothek, die für das Filtern verwendet werden soll.
- Klicken Sie auf Website-Einstellungen und auf Seite bearbeiten.
- Sie sehen über der Ansicht, die ja auch nur ein XSLT-Listview-Webpart ist, den Link Webpart hinzufügen.
- Klicken Sie darauf und wählen Sie aus der Kategorie Formular den HTML-Formular-Webpart.
- Speichern Sie die Seite, indem Sie links oben im Menüband auf Bearbeitung beenden klicken. Dies ist wichtig, weil wir ab jetzt im SharePoint Designer weiterarbeiten.
Der zweite Teil wird im SharePoint Designer erstellt:
- Öffnen sie Ihre Website im SharePoint Designer, klicken sie im Navigationsbereich auf Listen und Bibliotheken und dann auf Ihre Dokumentbibliothek. In der Übersichtsseite für die Dokumentbibliothek finden Sie rechts oben die Ansichten.
- Klicken Sie auf die neu erstellte Ansicht.
Mit SharePoint 2010 und SharePoint Designer 2010 haben Sie es leicht, die Seite wird Ihnen in einer WYSIWYG-Ansicht angezeigt und Sie können den XSLT-Listview-Webpart mit der Dokumentbibliothek einfach anklicken. Dann erscheinen im Menüband die Tools für die Listenansicht Mit SharePoint 2013 und SharePoint Designer 2013 sehen Sie jetzt nur den Code der Seite und müssen das XSLT-Listview-Webpart darin suchen. Die Zeile beginnt mit dem Code: <WebPartPages:XsltListViewWebPart runat=“server“ Ändern Sie in der Zeile folgende Attribute im Code: ServerRender=“True“ und ClientRender=“False“ Damit werden Ihnen die Tools für die Listenansicht auch im SharePoint Designer 2013 angezeigt, wenn der Cursor im Code des XsltListViewWebParts steht. Jetzt kann’s losgehen: Alle Befehle finden Sie auf dem Register Optionen der Tools für die Listenansicht
- Klicken Sie auf die Schaltfläche Parameter und im folgenden Dialog auf Neuer Parameter.
- Ändern Sie den Namen des Parameters, z.B. in FilterParam.
- Wählen sie als Parameterquelle den Eintrag Formular aus.
- Tragen Sie hinter Formularfeld den Namen T1 ein (das ist standardmäßig der Name des Textfeldes im HTML-Formular-Webpart).
- Als Standardwert hat sich in Dokumentbibliotheken ein Punkt bewährt, dieser ist in jedem Dateinamen vorhanden und deshalb werden alle Dokumente angezeigt, so lange nichts ins den HTML-Formular-Webpart eingetragen wurde.
- Bestätigen Sie mit OK.
Jetzt wird der XSLT-ListView-Webpart mit diesem Parameter gefiltert:
- Klicken Sie auf die Schaltfläche Filtern.
- Wählen Sie unter Feldname die erste Spalte, in der gefiltert werden soll, z.B. Name.
- Wählen Sie unter Vergleich den Wert enthält und
- unter Wert den Parameter, den Sie gerade erstellt haben.
- Wählen Sie hinten Oder und dann in der nächsten Zeile die nächste Spalte, in der gefiltert werden soll.
- Bestätigen Sie mit OK und speichern Sie Ihre Arbeit.
Zum Schluss müssen HTML-Formular-Webpart und XSLT.Listview-Webpart noch verbunden werden:
- Klicken Sie auf die Schaltfläche Verbindung hinzufügen.
- Da wir vom Dokumente-Webpart ausgegangen sind, ist das jetzt der Quellwebpart.
- Als Quellaktion wählen Sie aus Parameterwerte empfangen.
- Klicken Sie auf Weiter.
- Hier sehen Sie: Mit einem Webpart auf dieser Seite verbinden.
- Klicken Sie auf Weiter.
- Das Zielwebpart ist der HTML-Form-Webpart mit der Zielaktion Formularwerte anbieten an.
- Klicken Sie auf Weiter.
- Wählen Sie im linken Feld den Namen des Textfeldes T1 aus und rechts den Parameter.
- Klicken Sie dann auf Weiter und auf Fertigstellen.
- Speichern!
Hi;
alles gemacht, wie beschrieben. Leider ist beim letzten Punkt ein Problem aufgetreten: beim 2. Fenster des „Webpartverbindungs-Assistenten“ sind die Felder „Connect to a Web Part on this Page“ und „Connect to a Web Part on another page in this web“ ausgegraut. Ich hab in der Zentraladministration nachgesehen, Webpart Connections sind definitiv erlaubt. An was kann das jetzt noch liegen ?
Bitte dringend um Hilfe.
Danke
Helmut
Hallo Helmut,
ich kann nur Vermutungen anstellen, denn normalerweise sind diese Felder nur dann ausgegraut, wenn kein 2. Webpart auf der Seite da ist.
Also: bitte die Seite noch einmal frisch aufrufen (in SharePoint Designer), nachsehen, ob die Webparts beide drin sind.
Dann eines der beiden Webparts markieren und noch einmal die Verbindung erstellen. Es ist egal, von welchem Webpart aus man das macht, meine Beschreibung geht zwar vom Dokumente-Webpart aus, aber es ist auch einen Versuch wert, zuerst das Filter-Webpart zu markieren.
Mit welcher SharePoint- Version arbeitest Du denn?
Ich hoffe, es klappt, sonst versuche ich gerne auch weiter, zu helfen.
Annette
Hallo Annette,
ich verwende eine benutzerdefinierte Liste als Quelle. Der Standard-Wert mit einem Punkt funktioniert hier natürlich nicht, allerdings auch kein * oder %. Wie kann ich trotzem zu Beginn alle Datensätze selektieren?
Vielen Dank und Beste Grüße, Patrick
Hallo Patrick,
das ist leider nicht so einfach. Die Wildcards * und % kennt die Liste nicht. Ich verwende da oft ein e, weil dieses Zeichen doch sehr häufig vorkommt.
Für wirklich alle Einträge, wenn man das braucht, nimmt man besser eine eigene Ansicht, auf die verlinkt wird.
Hallo. Super Beitrag. Ich habe das so mit SharePoint 2013 Designer und SharePoint online nachgbaut. Jetzt meine Frage…was ist wenn ich einen zweiten HTML WebPart auf der Seite habe…wie mache ich das denn mit dem 2. Suchfilter?
Danke
Hallo David,
mit einem 2. HTML FormularWebpart macht man im Prinzip genauso. Also 2. Parameter für die Datenansicht erstellen, das 2. HTML Webpart dafür eintragen.
Dann den Filter der Datenansicht mit einem Kriterium für den 2. Parameter ergänzen. Dabei darauf achten, ob „Und“ oder „Oder“ mit den vorherigen Kriterien verknüpft wird.
Dann erstellt man eine Webpartverbindung vom 2. HTML-Webpart zur Datenansicht.
Erfolgreiches Basteln!