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子句


本文转自生鱼片博客园博客,原文链接:http://www.cnblogs.com/carysun/archive/2008/06/17/mosslist.html,如需转载请自行联系原作者

目录
相关文章
|
7月前
|
数据库连接 网络安全 数据库
阿里云云效操作报错合集之接口按迭代ID查询工作项查不到或查询结果不正确,是什么原因
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
阿里巴巴商品详情pachong数据字段解析 源代码分享 调用示例
阿里巴巴商品详情pachong数据字段解析 源代码分享 调用示例
【自然框架】之通用权限(八):权限到字段(列表、表单、查询)
 通用权限想要写的文章目录:(这是第八章)   1、 简介、数据库的总体结构2、 介绍人员表组3、 介绍组织结构表组4、 介绍角色表组5、 介绍“项目自我描述表组”6、 权限到节点7、 权限到按钮8、 权限到列表(表单、查询)9、 权限的验证10、 资源方面的权限11、 角色管理的程序(给客户用的)12、 权限下放13、 个性化设置A、 【自然框架】之通用权限(外传):杂谈     列表 myGrid 先说一下myGrid,我会根据Manage_FunListCol表和Manage_Columns表的内容,绘制出来一个table,就是的HTML。
930 0
|
开发者 Python
列表的修改查询和删除|学习笔记
快速学习列表的修改查询和删除
列表的修改查询和删除|学习笔记
【Excel自动化办公Part3】:工作表的创建、删除、复制和修改名称,冻结窗格,添加筛选
【Excel自动化办公Part3】:工作表的创建、删除、复制和修改名称,冻结窗格,添加筛选
184 0
【Excel自动化办公Part3】:工作表的创建、删除、复制和修改名称,冻结窗格,添加筛选
|
JSON JavaScript 数据格式
(简易)测试数据构造平台: 16 (工具列表新增)
(简易)测试数据构造平台: 16 (工具列表新增)
(简易)测试数据构造平台: 16 (工具列表新增)
|
前端开发 JavaScript 数据库
(简易)测试数据构造平台: 14 (工具列表删除功能前端)
(简易)测试数据构造平台: 14 (工具列表删除功能前端)
(简易)测试数据构造平台: 14 (工具列表删除功能前端)
SwiftUI—如何使列表同时支持删除和移动记录的功能
SwiftUI—如何使列表同时支持删除和移动记录的功能
164 0
SwiftUI—如何使列表同时支持删除和移动记录的功能
|
自然语言处理 索引
CFStringTransform处理语言的强大工具 : 智能地处理用户的输入内容,经典应用场景【索引】
CFStringTransform处理语言的强大工具 : 智能地处理用户的输入内容,经典应用场景【索引】
221 0
CFStringTransform处理语言的强大工具 : 智能地处理用户的输入内容,经典应用场景【索引】

热门文章

最新文章