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.




SPListItemCollection in aktuelles Dokumentenregister zurück schreiben

Unbeantwortet Dieser Beitrag hat 2 Antworten

Ohne Rang
39 Beiträge
Dreiundzwanzig erstellt 20 Apr. 2012 14:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

vielleicht kann mir einer helfen. Über ein DropDown soll eine Dokumentenbibliothek gefiltert werden.
(Man könnte auch ein Filter setzen, es soll aber ein WebPart werden.)

Ich habe folgenden Code:

SPSite site = SPContext.Current.Site;

            if (site != null)
            {
                SPWeb web = SPContext.Current.Web;               
                SPList list = SPContext.Current.List;

                if (list != null)
                {                   
                    SPList currentList = web.Lists.TryGetList(list.Title);                   

                    // Query erstellen
                    SPQuery query = new SPQuery();
                    query.Query = string.Concat(
                                   "<Where><Eq>",
                                      "<FieldRef Name='Sachbearbeiter'/>",
                                      "<Value Type='Text'>Mustermann</Value>",
                                   "</Eq></Where>",
                                   "<OrderBy>",
                                   "</OrderBy>");

                    SPListItemCollection collection = currentList.GetItems(query);

}

 

Nun möchte ich das Ergebnis, aus der SPListItemCollection, wieder zurück in die Dokumentenbibliothek schreiben. Somit werden alle Dokumente von Herr Mustermann angezeigt.

Wenn ich jetzt currentList = currentList.GetItems(query) schreibe geht das natürlich nicht.

Wie muss ich vorgehen?

Danke.

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Apr. 2012 14:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das geht mit diesem Ansatz überhaupt nicht. Du mußt stattdessen den Filterwert über eine Webpartverbindung an das Ansichtswebpart weitergeben. Hier passende Suchbegriffe zum Thema: http://www.google.de/search?q=sharepoint+2010+webpart+connections

Noch ein paar Anmerkungen:

[quote user="Dreiundzwanzig"]SPSite site = SPContext.Current.Site;

            if (site != null)[/quote]

Wenn es einen SPContext gibt, gibt auch die Site. Prüfe stattdessen, ob SPContext.Current null ist, das kann nämlich durchaus sein (allerdings nicht in einem Webpart).

[quote user="Dreiundzwanzig"]SPList list = SPContext.Current.List;

                if (list != null)
                {                   
                    SPList currentList = web.Lists.TryGetList(list.Title);[/quote]

Warum erzeugst Du hier eine neue SPList-Instanz? Es gibt doch bereits eine in SPContext.Current.List

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
39 Beiträge
Dreiundzwanzig Als Antwort am 22 Apr. 2012 11:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für deine Antwort.

Werde mir mal deinen Link anschauen.

[quote user="Andi Fandrich"]Warum erzeugst Du hier eine neue SPList-Instanz? Es gibt doch bereits eine in SPContext.Current.List

[/quote]

Damit ich die List separat habe, nur deswegen.