首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迭代通过SPListItem/SPList

迭代通过SPListItem/SPList
EN

Stack Overflow用户
提问于 2009-09-29 18:00:04
回答 3查看 9.9K关注 0票数 5

我正在为人们在我们公司的网站上做任务做核对表。我现在正在做的功能是,一旦他们完成了一项任务,并将其标记为已完成,我希望我们的sharepoint need部件向他们发送一封电子邮件,其中包含他们仍需完成的内容列表。

由于powers希望能够随意添加和减去列表中的项,因此它需要模块化,因此检查列表也需要模块化并以模块化术语编写。

我遇到的问题是,所有任务都存储在现有代码的SPList中。我不太确定如何遍历列表,以找出那个人是否已经完成了以下任务。我没有看到任何下一步、前一步、头部或尾部操作(正如我期望从列表中看到的那样)。由于索引使用字符串,因此它的行为更像是一个关联数据结构(map)或来自DB的主键。

请帮帮忙,谢谢大家!

干杯,

-Jeremiah坦通科

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-29 18:30:55

SharePoint列表不是计算机科学意义上的列表,而是最终用户期望的列表:一系列内容

您应该更多地将列表视为类似于数据库表。如果要根据条件在表(列表)中查找记录(项),则应使用查询。

因此,在SPList中查找SPListItems的正确方法是使用SPQuery,在其中以良好的XML语法(CAML)指定条件,然后将SPQuery传递给SPList.GetItems,从而获得SPListItems的集合。

这应该会给你一些谷歌搜索的术语。如果您需要有关查询语法的更多帮助,请使用U2U Caml Query Builder或为我们提供一些更具体的信息。

票数 5
EN

Stack Overflow用户

发布于 2011-07-12 18:42:25

您是否应该遍历列表可能是一个有争议的问题,但是如果这是不可避免的(就像我的例子一样),则可以使用以下代码。

代码语言:javascript
复制
        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
        }
票数 0
EN

Stack Overflow用户

发布于 2009-10-27 00:32:44

这可能会解决你的问题

代码语言:javascript
复制
SPList interviewList = myWeb.Lists["listtoiterate"];
foreach (SPListItem interview  in interviewList)
{
// Do Something
} 
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1494064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档