SharePoint-Liste.GetItems(view) zeigt ALLE Elemente an, anstelle der gefilterten Elemente anzeigen

Ich versuche, um die Anzahl der Elemente in einer Liste, basierend auf einem Blick. Jede Methode die ich bisher ausprobiert habe gibt nur die Gesamtsumme der Liste. Ich habe versucht, gerade über jede Methode, die ich habe laufen über während der Suche, und alles endet mit dem gleichen Ergebnis.

Hier ist eine der Methoden, die ich versucht habe:

SPWeb web = SPContext.Current.Web;
SPView view = web.GetViewFromUrl("url to my view");
int count = view.ParentList.GetItems(view).Count;

Meine Liste hat 28 items, aber die Aussicht, die ich bin Referenzierung filtert es und stellt die vier Elemente. Ich erwarte, dass meine Zählung zu 4, nicht 28 - aber 28 ist das, was ich immer bekommen.

Hier ist eine andere Methode, die ich versucht habe:

SPSite site = SPContext.Current.Site;
SPWeb web = site.OpenWeb();

SPQuery MyQuery = new SPQuery();
MyQuery.Query = "<Query><Where><Eq><FieldRef Name='strStatus' /><Value Type='Text'>submitted</Value></Eq></Where></Query>";

IEnumerable<SPListItem> results = web.Lists["Requests"].GetItems(MyQuery).Cast<SPListItem>();

//results.Count() is 28...  should be 4

So, in diese Methode, die ich überspringe die Sicht und nur versucht, übergeben Sie eine CAML-Abfrage. Beim testen meiner Abfrage im U2U, vier Ergebnisse werden zurückgegeben, wie erwartet...

Das größere Bild ist, dass ich das Tue in meinem benutzerdefiniertes Menü-Steuerelement ist OnMenuItemDataBound event-handler. Ich weiß nicht, ob das einen Unterschied macht, aber auf die Idee bin ich Richtung ist, dass jedes Element, das eine Verknüpfung zu einer Ansicht in einer bestimmten Liste, zeigt die Anzahl der Elemente in dieser Ansicht neben dem link.

Irgendwelche Ideen, warum ich bin immer eine Liste mit insgesamt anstelle der gefilterten Summen? Danke!

InformationsquelleAutor SeanW | 2010-03-19

Schreibe einen Kommentar