我正在使用SharePiont Server 2007 Enterprise和Windows Server 2008 Enterprise,我正在使用发布门户模板。我正在使用VSTS 2008 + C#+ .Net 3.5进行开发。我在SharePoint网站上手动定义了一个自定义列表(自定义列表的所有列类型都是SharePoint内置类型),我想定义一些自定义规则来过滤此列表以仅显示列表的一部分。任何参考代码?
EDIT1:这是我目前的代码。我已经使用这样的代码来检索我需要的项目,但是如何在SharePoint列表中显示已撤消的项目?
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()+"###");
}
答案 0 :(得分:4)
如果您使用的是服务器(即非客户端)dll,则可以SPList.GetItems Method使用SPQuery
作为参数:
SPSite oSiteCollection = SPContext.Current.Site;
SPList oList = oSiteCollection.AllWebs["Site_Name"].Lists["List_Name"];
SPQuery oQuery = new SPQuery();
oQuery.Query = "<Where><Eq><FieldRef Name='Schedule'/>" +
"<Value Type='CHOICE'>2 weeks</Value></Eq></Where>";
SPListItemCollection collListItems = oList.GetItems(oQuery);
foreach (SPListItem oListItem in collListItems)
{
Label1.Text += SPEncode.HtmlEncode(oListItem["Title"].ToString())
+ " -- " + SPEncode.HtmlEncode(oListItem["EndDate"].ToString())
+ "<BR>";
}
请注意,此示例代码的foreach
部分以HTML格式显示数据,仅作为示例提供。您可以使用目前使用的相同渲染。关键是使用SPQuery
和.GetItems(...)
。
如果您使用客户端dll,请参阅MSDN中的this link和其他人(此链接仅是一个示例,它与SharePoint Team Services 客户端API相关)。