我正在为人们在我们公司的网站上做任务做核对表。我现在正在做的功能是,一旦他们完成了一项任务,并将其标记为已完成,我希望我们的sharepoint need部件向他们发送一封电子邮件,其中包含他们仍需完成的内容列表。
由于powers希望能够随意添加和减去列表中的项,因此它需要模块化,因此检查列表也需要模块化并以模块化术语编写。
我遇到的问题是,所有任务都存储在现有代码的SPList中。我不太确定如何遍历列表,以找出那个人是否已经完成了以下任务。我没有看到任何下一步、前一步、头部或尾部操作(正如我期望从列表中看到的那样)。由于索引使用字符串,因此它的行为更像是一个关联数据结构(map)或来自DB的主键。
请帮帮忙,谢谢大家!
干杯,
-Jeremiah坦通科
发布于 2009-09-29 18:30:55
SharePoint列表不是计算机科学意义上的列表,而是最终用户期望的列表:一系列内容
您应该更多地将列表视为类似于数据库表。如果要根据条件在表(列表)中查找记录(项),则应使用查询。
因此,在SPList中查找SPListItems的正确方法是使用SPQuery,在其中以良好的XML语法(CAML)指定条件,然后将SPQuery传递给SPList.GetItems,从而获得SPListItems的集合。
这应该会给你一些谷歌搜索的术语。如果您需要有关查询语法的更多帮助,请使用U2U Caml Query Builder或为我们提供一些更具体的信息。
发布于 2011-07-12 18:42:25
您是否应该遍历列表可能是一个有争议的问题,但是如果这是不可避免的(就像我的例子一样),则可以使用以下代码。
SPSite siteCollection = new SPSite("http://localhost/");
SPWeb site = siteCollection.RootWeb;
SPList myList = site.Lists["My List"];
SPListItemCollection itemCollection = myList.Items;
foreach (SPListItem item in itemCollection)
{
//Do something with each item
}发布于 2009-10-27 00:32:44
这可能会解决你的问题
SPList interviewList = myWeb.Lists["listtoiterate"];
foreach (SPListItem interview in interviewList)
{
// Do Something
} https://stackoverflow.com/questions/1494064
复制相似问题