Frage

Ich verwende SharePoint Server 2007 Enterprise mit Windows Server 2008 Enterprise und benutze die Veröffentlichungsportalvorlage. Ich entwickle mit VSTS 2008 + C# + .NET 3.5. Ich habe eine benutzerdefinierte Liste manuell auf einer SharePoint-Site definiert (alle Spaltentypen der benutzerdefinierten Liste sind SharePoint-integrierte Typen), und ich möchte einige benutzerdefinierte Regeln definieren, um diese Liste zu filtern, um nur einen Teil der Liste anzuzeigen. Irgendein Referenzcode?

Edit1:

Hier ist mein aktueller Code. Ich habe einen solchen Code verwendet, um die von mir benötigten Elemente abzurufen, aber wie werden die abgerufenen Elemente in einer SharePoint -Liste angezeigt?

            SPSite oSiteCollection = SPContext.Current.Site;
            SPList oList = oSiteCollection.AllWebs[0].Lists["PeopleTest"];
            SPQuery oQuery = new SPQuery();
            oQuery.Query = "<Where><Eq><FieldRef Name='Department'/>" +
                    "<Value Type='Text'>Computer</Value></Eq></Where>";
            SPListItemCollection collListItems = oList.GetItems(oQuery);

            foreach (SPListItem oListItem in collListItems)
            {
                writer.Write(oListItem["Department"].ToString()+"###");
            } 
War es hilfreich?

Lösung

Sie können eine Ansicht (entweder manuell oder programmatisch) erstellen und dann einen Verweis auf diese Spview erhalten und aufrufen Renderashtml () darauf. Dies macht wie eine SPGridView (was Sie wollen).

Alternativ können Sie eine verwenden Spdatasource. Sie können diese Spdatasource dann an eine binden SpGridView. Dies kann nur mit ASPX/ASCX -Markup deklarativ erfolgen.

Lassen Sie mich raten, Sie möchten ein Code -Snippet? :)

Andere Tipps

Ihr Filter sieht ziemlich einfach aus, aber ich würde mit einem Datenansichts -Webpart (DVWP) eingehen. Kein Back -End -Code und leicht konfigurierbar, um das zu tun, was Sie nur mit den Dialogen verwenden.

M.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top