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.




Auf Disp.Form verbundene Dokumente anzeigen

Geprüfte Antwort Dieser Beitrag hat 14 Antworten

Ohne Rang
1714 Beiträge
C.Kaiser erstellt 25 Aug. 2010 09:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe foglende Anforderung:
1. eine Liste in der Produkte gepflegt werden
2. eine Dokumentbibliothek mit der über eine Lookup-Spalte, Dokumente den entsprechenden Produkten zugeordnet werden (über die Titelspalte der Produktliste)

Nun sollen auf der Disp-Form der Produkte, alle zugeordneten Dokumente angezeigt werden. Diesen Artikel (und alle die sich darauf beziehen) habe ich ausprobiert, geht aber irgendwie nicht:
http://blogs.msdn.com/b/sharepointdesigner/archive/2008/03/26/sharepoint-conference-building-a-sharepoint-designer-mashup-part-1.aspx

Unterschied ist dort, dass mit der ID-Spalte gearbeitet wird und nicht die Titel-Spalte als Lookup genutzt wird. Hat das schonmal jemand umgesetzt oder hat jemand Tipps wie man es anders lösen kann?

Danke und Gruß!

Alle Antworten

Ohne Rang
643 Beiträge
Henning Eiben Als Antwort am 25 Aug. 2010 09:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ausprobiert bisher nicht, aber ich könnte mir folgendes vorstellen:

Du bearbeitest das DispForm mit dem SPD und fügst ein zweites WebPart mit einer DataView für deine Dokumente ein. Dann erstellst du eine WebPart-Verbindung mit dem Titel-Feld und verwendest das als Filter für deine DataView.

Ggf. musst du aus dem DataForm eine benutzerdefiniertes Formular machen, bevor du eine WebPart-Verbindung einrichten kannst.

Henning Eiben
busitec.de

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Aug. 2010 09:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das geht nur, wenn man ein Filterwebpart dazwischenschaltet, das den Titel als Filter bereitstellt. Bei MOSS ist das dabei. Für WSS mußt Du das selbst implementieren (ist aber nicht schwer).

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 25 Aug. 2010 09:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

MOSS ist vorhanden, welche Art von Filter nutzt man denn dazu?

Irgendwie muss ich ja die Werte an die Datenansicht weitergeben oder verstehe ich das falsch?

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Aug. 2010 09:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nimm den Seitenfeldfilter, konfiguriere ihn auf die Titelspalte und verbinde ihn mit der Datenansicht (Parameterwerte abrufen von).

Bei der Datenansicht definierst Du vorher einen Parameter und benutzt den zum Filtern.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 25 Aug. 2010 10:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielen Dank Andi!

Hab da gestern ewig nach gesucht (ohne Internet)

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 25 Aug. 2010 13:59
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Mal angenommen die Filter-Webparts sind doch nicht vorhanden ( :-) ), kannst du mir einen Hinweis geben, wo ich anfangen kann zu suchen, wie man das Webpart selbst entwickelt? ;-)

Die Filter kommen ja erst mit Enterprise - ich war zuerst von Standard ausgegangen...

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Aug. 2010 14:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Kann ich Dir sagen (da ich das genau aus diesen Gründen schon getan habe):

Ich nehme mal an, daß es Dir reicht, wenn ich sage, daß das Webpart ITransformableFilterValues und IDefaultFilterValue implementieren muß. Frage nach, wenn Du mehr brauchst...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 25 Aug. 2010 16:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

sorry bin da gerade etwas jungfräulich was Filter Webparts betrifft...

Momentan verstehe ich das so: IDefaultFilterValue stellt den Filterwert für die spätere Datenansicht. Ich muss also in der Methode PageOnload auf das Feld (in meinem Fall der Produktname) zugreifen mir den Wert rausziehen und an das Dataview weitergeben.

Das Interface ITransformableFilterValues bestimmt die Eigenschaften des Filters (z.B. AllowAllValue, AllowEmptyValue...)

Versuche mich da gerade an diesen Blogposts entlang zu hangeln:
http://www.tonstegeman.com/Blog/Lists/Posts/Post.aspx?ID=38

http://blogs.msdn.com/b/edhild/archive/2007/03/28/how-to-build-a-custom-filter-provider-web-part.aspx

 

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 25 Aug. 2010 18:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also folgendes habe ich bisher gemacht:

der Connection Provider soll sich die Daten holen ( ITransformableFilterValues):
public ReadOnlyCollection<string> ParameterValues
        {
            get
            {
                 List<string> defaultValue = new List<string>();
                defaultValue.Add(item["Produkt"].ToString());
                //return defaultValue;
               
                ReadOnlyCollection<string> result = new ReadOnlyCollection<string>(defaultValue);
                return result;
            }

Code für das konsumierende Webpart (IDefaultFilterValue):

public string DefaultValue
        {
            get
            {
                 string defaultValue = item["Produkt"].ToString();
                return defaultValue;
            }
        }      

Beim Hinzufügen des Webpart in eine webpartzone wird mir aber nur der normale Fehlertext angezeigt: "Fehler beim hinzufügen"
Logs sagen folgendes:
Error importing WebPart. Assembly  Assemblyname, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f313192c5c253caf, TypeName. assembly.klasse 
Failed to add webpart Exception Microsoft.SharePoint.WebPartPages.WebPartPageUserException: Cannot import Page Field Filter Web Part.     at Microsoft.SharePoint.WebPartPages.WebPartImporter.CreateWebPart(Boolean clearConnections)     at Microsoft.SharePoint.WebPartPages.WebPartImporter.Import(SPWebPartManager manager, XmlReader reader, Boolean clearConnections, Uri webPartPageUri, SPWeb spWeb)     at Microsoft.SharePoint.WebPartPages.WebPartImporter.Import(SPWebPartManager manager, XmlReader reader, Boolean clearConnections, SPWeb spWeb)     at Microsoft.SharePoint.WebPartPages.WebPartQuickAdd.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgu.

Entweder bin ich gerade zu bld oder zu müde oder beides...

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 26 Aug. 2010 08:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hast du auch den SafeControl Eintrag beim Deployen für dein WebPart gesetzt?

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 26 Aug. 2010 09:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja der safeControl Eintrag ist vorhanden. Habe jetzt auch nochmal sämtlichen Code rausgenommen, da der zu 99% eh fehlerhaft ist. Trotzdem bekomme ich den Fehler...

Schon doof.

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 26 Aug. 2010 10:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

... Brett vorm Kopf.

Man sollte die Webpart-Klasse auch "public" machen. Wenn das Webpart dann funktioniert ist die Filterfunktionalität wirklich einfach.

Danke nochmal an Andi!

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 26 Aug. 2010 15:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Und ich habe doch noch eine Frage zur DispForm...

Wie heissen die Controls die auf der DisForm verwendet werden?
Ich versuche mir gerade eine eigene CustomApllicationPage zu bauen, welche die Inhalte eines ListItems zurückgibt, allerdings nur in lesender Form. Zunächst habe ich es versucht mit HTML-Labels zu realisieren, bekomme aber bei SharePoint-Multiline Textboxen einen Typenfehler...

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

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

Es gibt je nach Feldtyp unterschiedliche Controls. Wenn Du das SPField hast, dann kannst Du einfach das FieldRenderingControl nehmen.

Viele Grüße
Andi
af @ evocom de
Blog