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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich erinnere richtig zu löschen, müssen Sie die
<Query>
von IhremSPQuery
. CAML Builders verwenden Sie es, aber seine unnötig in die eigentlicheSPQuery
. Natürlich müssen Sie sicherstellen, dass die Felder vorhanden.wenn die Abfrage-Eigenschaft von SPQuery falsch ist, erhalten Sie alle die Elemente zurück. In Ihrem demo -, Streifen aus der
<Query>
- und End-tag</Query>
. Ich weiß nicht, warum CamlQueryBuilder lässt Sie es, aber es macht die syntax der Abfragen falsch, wenn man einfach copy-paste.Oooh, ich sehe, was F. Aquino versuchte nun zu sagen - ja, ich erinnere mich gelesen zu haben, dass an einem gewissen Punkt zu. Ich bin für das Wochenende nach Hause, aber werde versuchen, die ersten Sache Montag morgen. Danke!
Um die Verwirrung hinzuzufügen, wenn Sie das schreiben von xml für web-services, die korrekte syntax ist <query - ><Query - ><>
Danke, ich wusste nicht, dass. Warum tut es wieder alle posten? Sollte eine exception werfen, oder null zurückgeben, wenn ich will, dass alle Gegenstände, die ich würde nicht Benutzer eine Abfrage.
InformationsquelleAutor Francisco Aquino