<p><textarea cols="84" rows="15" name="code" class="c-sharp">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子句
</textarea></p>
分享到:
相关推荐
这是Caml和OCaml(目标Caml)编程的上一页,我们正在处理中,将那里的所有书籍都转换为新页面。 请稍后检查此页面!!!
智能CAML 最佳 SharePoint CAML 查询设计器应用程序。 快速构建和测试 CAML 查询直接从查询结果更新 SharePoint 列表项对本地 SharePoint 2010+ 和 SharePoint Online 的支持安装您可以从这里安装最新版本: 视窗 10...
本文提供Caml编程技术的入门知识,为作者在国外留学时积累的资料,供国内没学Caml的工程技术人员参考
CAML语言CAML语言学习规范
用于Sharepoint中的caml语句生成
CAML语句生成器 U2U Caml Query Builder 2007 v3.1.0.0 (windows version)
连接Sharepoint site或者Web Site后,可以根据你的选择生成CAML语句
caml查询语句自动生成器,非常实用。做sharepoint开发必备哦!!
MOSS U2U CAML Builder 工具 C# sharepoint2007
U2U Caml Query Builder 2007 v3.1.0.0 (windows version).zip
QuickCAML是用于在SharePoint 2010和2013(包括SPO / Office 365)中快速创作和测试CAML查询的工具。 它是一种客户端工具,旨在直接在您的浏览器中运行,从而避免了很多治理问题,风险和繁琐的工作。 这是一种面向...
相当好的SharePoint CAML 生成工具; SP开发的最好帮助工具
caml编辑器 caml编辑器 sharepoint开发
Caml语言生成器可以方便快捷地自动生成CAML语句。
PM> Install-Package camljs.TypeScript.DefinitelyTypedNpm: npm install camljsNpm TypeScript定义: npm install @types/camljs另外,请访问 -Chrome扩展程序,以针对真实列表的实时预览测试查询。用法在浏览器...
Didn't have the chance to read it yet, but maybe someone is interested?
Sharepont 2013 Sharepont 2010
关于Objective Caml的全面书籍,不仅涵盖核心语言,而且涵盖模块,对象和类,线程和系统编程以及与C的互操作性。
U2U Caml Query Builder 2007 v3.0.2.0.rar
CAML Designer是一款CAML Query免费开发工具,对于SharePoint Search应用开发,CAML是主要开发语言之一,该工具提供自动生成CAML Query代码,另外可以自动生成CSOM .Net代码,CSOM REST代码。对于使用Web Service...