欧非资源网:安全、免费、专业放心的资源下载站! 最新软件|软件分类

您的位置:欧非资源网 > 其他专区 > SharePoint > moss2010 MOSS中对列表的一些操作(创建,查询等)

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

时间:2019-12-15 19:55作者:admin来源:未知人气:275我要评论(0)

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);

}

site.dispose();

web.dispose();

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中Office文件无法打开的解决方案如何快速生成SharePoint测试大文件如何查询SharePoint Library中空文件夹?如何快速备份SharePoint Farm Solution如何解决Event Viewer中SharePoint Error - Event ID 8321SharePoint 2016 CU安装失败,"Exception: The upgraded database schema doesn't match the TargetSchema"的解决方案InfoPath Error “此文档库已经被重命名或删除,或者网络问题导致文件无法保存…” 的解决方案SharePoint 2013 App概述How to Shrink SharePoint Content Database Log File?Project Web App Feature无法开启的解决方案

文章评论
发表评论

热门文章 SharePoint 2016 图文安装教程 后面有激活序列号、密钥分享[SharePoint入门教程]一SharePoint发展、工具及术语如何用 SharePoint Online创建团队网站?SharePoint Iframe 报错“此内容不能显示在一个框架中”

最新文章 SharePoint中Office文件无法打开的解决方案如何快速生成SharePoint测试大文件 如何查询SharePoint Library中空文件夹?如何快速备份SharePoint Farm Solution如何解决Event Viewer中SharePoint Error - Event ID 8321SharePoint 2016 CU安装失败,"Exception: The upgraded database s

人气排行 SharePoint 2016 图文安装教程 后面有激活序列号、密钥分享[SharePoint入门教程]一SharePoint发展、工具及术语如何用 SharePoint Online创建团队网站?SharePoint Iframe 报错“此内容不能显示在一个框架中”SharePoint 2013 安装图解 SharePoint安装步骤图解教程SharePoint 如何开启访问请求[SharePoint入门教程]一SharePoint概述[SharePoint入门教程]一创建SharePoint母版页

盖楼回复X

(您的评论需要经过审核才能显示)