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子句 |
发表评论
-
Sharepoint之升级篇
2008-03-07 07:47 1560一:sharepoint介绍<?xml:namespac ... -
SharePoint之定义管理路径
2008-03-12 07:14 1023一:如何设置 通过定义管理路径,可以指定 Web 应用程序 ... -
Sharepiont之页面模型
2008-03-15 17:33 1024本文主要包括以下几方面内容:1.页面布局和母版页2.页面布局模 ... -
Sharepoint站点把我的名字显示成“系统帐户”问题
2008-03-18 21:48 951在你安装了SharePoint Server 2007之后,当 ... -
使用对象模型来创建内容类型
2008-07-03 21:49 603一:首先定义一个函数来创建内容类型,代码如下: private ... -
微软发布WSS3.0和MOSS2007 基础结构更新
2008-07-17 07:07 684一:Windows SharePoint Services 3 ... -
[翻译]Training Site Template—Part 1:介绍
2008-07-30 20:08 659原文地址:http://blogs.msdn.com/shar ... -
MOSS中的计时器作业
2008-11-05 20:23 848这方面的文章园子里有几篇了,不过大家基本上都是参考了http: ... -
如何取到MOSS列表中item的链接
2008-12-04 18:07 781SPListItem的Url属性返回的不是绝对路径,形式如下面 ... -
MOSS程序中如何发Mail?
2008-12-09 10:42 757我们使用.NET类库中的API发Mail的时候,我们要配置他的 ...
相关推荐
moss 中修改列表上传图片的方法,有源代码和操作方法说明。
目前总结出两种简单的方法,都是用Moss本身和Excel进行操作,无需其他任何工具。一种是最基本的复制粘贴,第二种是利用Excel和Moss中的数据导入功能
微软官方的MOSS工作流操作手册,我整理过的。
MOSS中文SDK MOSS中文SDK MOSS中文SDK MOSS中文SDK
MOSS中配置SSL安全设置 moss ssl https 安全 asp.net sharepoint2007
用代码实现对list中文档的访问,最终实现对文件的操作
moss创建或更改视图.希望能给学习MOSS的朋友带来帮助!
在MOSS中配置RMS手册(英文).doc
一个moss中使用的webpart,可以把指定图片列表下的图片在法拉盛种循环播放。
moss中使用第三方邮箱解决方案,请大家多指教
Moss2007下创建Form Authentication站点
MOSS2010列表添加自定义下拉菜单 MOSS2010列表添加自定义下拉菜单
实现图片自动上传,很方便的MOSS程序!
moss中eventHandler使用,详细介绍了在moss中eventhandler使用的方式
moss 2007开发教程,moss 2007开发教程(1).MOSS2007之概述
MOSS2007 SPD创建到期提醒工作流
MOSS2010Form认证操作步骤:1、创建存储Form验证的账号数据库。2、创建Form账号.3、创建网站应用程式
MOSS基础教程.doc
MOSS QueryTool Stramit.CamlViewer2007