`

MOSS中对列表的一些操作(创建,查询等)

阅读更多

1.查询列表的所有字段

SPSite site = new SPSite("http://carysun");
SPWeb web=site.OpenWeb();
SPList list = web.GetList("/IT Infrastructure");
foreach (SPField sf in list.Fields)
{
    Console.WriteLine(sf.Title);
}
2.使用对象模型创建列表,SPListTemplateType.Announcements指定使用通知内容类型作为模板来创建。

注意一定要调用Update()方法。

string listName="AnnouList";                    
foreach(SPList currList in web .Lists)
{      
   if(currList.Title.Equals(listName,StringComparison.InvariantCultureIgnoreCase))
   {
      list=currList;
      break;
   }
}
if(list==null)
{
     Guid listID=web.Lists.Add(listName,"New nnouncements",SPListTemplateType.Announcements);
     list=web.Lists[listID];
     list.OnQuickLaunch=true;
     list.Update();
 }

3.使用对象模型给列表添加item,注意一定要调用Update()方法。

SPListItem newItem = null;
newItem = list.Items.Add();
newItem["Title"] = "AnnouItem1";
newItem["Body"] = "The first AnnouItem1 ";
newItem["Expires"] = DateTime.Now + TimeSpan.FromDays(2);
newItem.Update();

newItem = list.Items.Add();
newItem["Title"] = "AnnouItem2";
newItem["Body"] = "The second AnnouItem2.";
newItem["Expires"] = DateTime.Now + TimeSpan.FromDays(5);
newItem.Update();

















4.查询item的相关信息
foreach (SPListItem listItem in list.Items)
{
      foreach (SPField field in list.Fields)
      {
          if (!field.Hidden && !field.ReadOnlyField)
                Console.WriteLine("{0} = {1}", field.Title, newItem[field.Id]);
       }
}

5. 如果你要想得到一个列表的item,你可以通过WebId, ListId, and ID来得到.

SPWeb parentWeb = web.Site.OpenWeb(new Guid(row["WebId"].ToString()));
SPList list = parentWeb.Lists[ new Guid(row["ListId"].ToString()) ];
SPListItem item = list.GetItemById((int.Parse(row["ID"].ToString())));

 
6.使用SPQuery来查询列表中item信息:

SPQuery query = new SPQuery();
query.ViewFields = @"<FieldRef Name='Title'/><FieldRef Name='Created'/>";
query.Query = @"<Where>
       <Neq>
         <FieldRef Name='Created' />
         <Value Type='DateTime'>
         <Today /></Value>
       </Neq>
    </Where>";

SPList list = web.Lists["AnnouList"];
SPListItemCollection items = list.GetItems(query);
foreach (SPListItem expiredItem in items)
{
    Console.WriteLine(expiredItem["Title"]);
    Console.WriteLine(expiredItem["Created"]);
}

6.1. ViewFields 表示你查询后要返回的字段

6.2. Query表示查询过滤的表达式,使用CAML语言

7. 使用SPSiteDataQuery来查询列表中item信息

SPSiteDataQuery query = new SPSiteDataQuery();
query.Lists = @"<Lists ServerTemplate='104' />";
query.ViewFields = @"<FieldRef Name='Title'/><FieldRef Name='Created'/>";
query.Webs = "<Webs Scope='SiteCollection' />";
string queryText =@"<Where>
         <Neq>
           <FieldRef Name='Created' />
           <Value Type='DateTime'>
           <Today /></Value>
         </Neq>
     </Where>";
query.Query = queryText;
DataTable table = web.GetSiteData(query);
foreach (DataRow row in table.Rows)
{
     Console.WriteLine(row["Title"].ToString() + row["Created"].ToString());
}

7.1. query.Lists = @"<Lists ServerTemplate='104' />";中104代表通知列表类型

7.2 query.Webs = "<Webs Scope='SiteCollection' />";为查询的范围。

7.3. CAML的基本格式是这样的:“<Where><operator><operand /><operand /></operator> </Where>”.

7.4.使用SPQuery返回的是SPListItemCollection,而SPSiteDataQuery可以从不同的列表或是整个网站集查,实际上是返回了一个ADO.NET DataTable对象。

7.5 下表是CAML查询的一些简单说明:

元素 说明
And 并且
BeginsWith 以某字符串开始的
Contains 包含某字符串
Eq 等于
FieldRef 一个字段的引用 (在GroupBy 中使用)
Geq 大于等于
GroupBy 分组
Gt 大于
IsNotNull 非空
IsNull
Leq 小于等于
Lt 小于
Neq 不等于
Now 当前时间
Or
OrderBy 排序
Today 今天的日期
TodayIso 今天的日期(ISO格式)
Where Where子句
分享到:
评论

相关推荐

    Moss2007中的列表迁移到Moss 2010的方法

    Moss 2007 中的列表迁移到 Moss 2010 的方法 Moss 2007 是 Microsoft Office SharePoint Server 2007 的一部分,提供了强大的协作和内容管理功能。然而,随着技术的发展和业务的增长,许多组织开始迁移到 Moss 2010...

    MOSS操作文档库中的文件

    在本文中,我们将深入探讨如何使用代码来操作MOSS(Microsoft Office SharePoint Server)中的文档库。MOSS对象模型是 SharePoint 开发的核心,它允许开发者直接与 SharePoint 的各种元素交互,包括列表、文档库、...

    moss 中修改列表上传图片的方法

    在Microsoft Office SharePoint Server (MOSS) 2007中,列表是用于存储和管理数据的基本组件,可以用来创建各种类型的数据库,如任务列表、文档库或图片库。当涉及到图片上传功能时,MOSS 2007的默认设置可能无法...

    MOSS 2007 工作流操作

    **MOSS 2007 工作流操作详解** Microsoft Office SharePoint Server 2007(MOSS 2007)中的工作流是一种强大的工具,它为企业提供了自动化业务流程的能力,从而提升效率和生产力。工作流允许组织遵循一致的流程,并...

    moss中使用第三方邮箱解决方案

    4. **通知和触发器**:在MOSS中,如列表项更改、文档库更新等事件可能会触发电子邮件通知。确保这些触发器正确配置,使用正确的SMTP服务器和用户凭证。 5. **测试和调试**:完成设置后,进行测试以确保邮件能正常...

    MOSS QueryTool

    6. **权限检查**:工具会显示用户对查询到的列表和项的访问权限,帮助管理员了解数据的可访问性。 7. **版本兼容性**:虽然最初针对MOSS 2007设计,但此工具可能也适用于后续的SharePoint版本,如SharePoint 2010和...

    MOSS基础教程.doc

    ### MOSS基础教程知识点概述 #### 一、文档库与列表的概念及应用场景 ...无论是创建文档库还是列表,或是编辑网站布局,MOSS都提供了直观的操作界面和丰富的功能支持,使得信息管理和展示变得高效而便捷。

    moss创建或更改视图

    【moss创建或更改视图】是关于Microsoft Office SharePoint Server(MOSS)中管理列表或库视图的操作指南。在MOSS中,视图是一种定制的方式,让用户可以根据自己的需求查看和组织列表或库中的信息。 **概述** 每个...

    MOSS中实现自动上传图片

    总结来说,MOSS 中实现自动上传图片涉及到多个技术层面,包括利用 Web 服务接口、工作流、InfoPath、事件接收器、PowerShell 脚本等工具,同时还需要关注权限、版本控制、元数据管理和CDN等要素。这些技术的应用,...

    MOSS开发常用集锦

    5. **解决方案打包与部署**:了解如何将自定义代码、样式表、XML配置文件等打包成WSP解决方案,并通过PowerShell或中央管理服务器进行部署,是MOSS开发中的重要环节。 6. **权限与安全**:在大型组织中,权限管理是...

    MOSS中配置SSL安全设置

    1. **在IIS中创建SSL绑定**:首先,需要在Internet Information Services (IIS) 管理器中,对运行MOSS的Web应用程序的网站进行配置。打开IIS,选择对应的网站,然后在“绑定”选项中添加一个新的HTTPS绑定,指定SSL...

    moss开发常用工具

    - 这个工具简化了CAML查询的创建,这对于在SharePoint中检索数据非常有用,特别是在自定义列表视图和Web部件时。 7. **SharePoint Manager 2010/2013/2016**: - 它提供了一个层次结构的视图来查看SharePoint的...

    Moss2007开发入门教程

    3. **选择事件**:如列表项添加、修改、删除等。 4. **编写代码**:处理事件触发时的逻辑,例如验证数据或更新关联信息。 5. **部署Event Receiver**:与Webpart类似,打包并部署到SharePoint环境中。 **四、...

    Moss 2007 2010 面试题

    开发者使用CAML编写查询,以在列表和库中检索和操作数据。 除了上述内容,面试中可能还会涉及以下知识点: - 页面布局(Page Layouts):页面布局定义了页面内容的显示方式,可以控制WebPart的位置和外观。 - 工作...

    MOSS2007之开发概述

    MOSS2007(Microsoft Office SharePoint Server 2007)是微软公司推出的企业级协作平台,它整合了内容管理、搜索、业务流程集成等多种功能,提供了强大的信息工作和共享平台。MOSS2007作为SharePoint技术的一个重要...

    MOSS 工作流部分

    3. **工作流状态和跟踪**:在MOSS中,每个工作流实例都有其状态,包括待启动、进行中、已完成或已取消等。用户可以通过工作流历史列表查看流程的详细步骤,了解审批进度。 4. **工作流通知**:系统会根据预设的规则...

    moss2007管理員操作指南

    Microsoft Office SharePoint Server (MOSS) 2007 是一款强大的企业级协作平台,它提供了文档管理、网站创建、工作流、报表和搜索等功能。作为MOSS 2007的管理员,你需要了解和掌握一系列的操作技巧和管理策略来确保...

    MOSS2007 中启用搜索功能的注意事项

    这个账户虽然提供了基本的安全隔离,但对于一些特定的操作(如爬取文档、索引文档等),可能因为权限不足而无法正常工作,导致搜索功能不可用。 **2. 解决方法** 为了解决上述问题,推荐的做法是将搜索服务及其...

    moss2007 开发资料

    通过深入研究Moss 2007的WebPart开发,开发者不仅能创建出满足业务需求的自定义功能,还能进一步提升对SharePoint平台的理解。结合实际的项目实践和提供的资源,开发者可以不断提升自己的技术水平,为企业的信息化...

    MOSS2010列表添加自定义下拉菜单

    在Microsoft Office SharePoint Server (MOSS) 2010中,有时我们需要为列表或文档库添加自定义功能,比如自定义下拉菜单,以便提供更便捷的操作方式或扩展功能。以下是一个步骤详细的过程,教你如何在MOSS 2010的...

Global site tag (gtag.js) - Google Analytics