注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

忘忧草的博客

品味人生--精通IT管理和技术

 
 
 

日志

 
 
 
 

SharePoint Foundation 2010 托管客户端对象模型概述(四) --修整结果集  

2012-02-24 14:01:07|  分类: Moss2010 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 
以下示例将创建一个列表,然后向其中添加字段和项。  C# using System; using Microsoft.SharePoint.Client;  class Program {     static void Main()     {         ClientContext clientContext =             new ClientContext("http://intranet.contoso.com");         Web site = clientContext.Web;          // Create a list.         ListCreationInformation listCreationInfo =             new ListCreationInformation();         listCreationInfo.Title = "Client API Test List";         listCreationInfo.TemplateType = (int)ListTemplateType.GenericList;         List list = site.Lists.Add(listCreationInfo);          // Add fields to the list.         Field field1 = list.Fields.AddFieldAsXml(             @"<Field Type='Choice'                      DisplayName='Category'                      Format='Dropdown'>                 <Default>Specification</Default>                 <CHOICES>                   <CHOICE>Specification</CHOICE>                   <CHOICE>Development</CHOICE>                   <CHOICE>Test</CHOICE>                   <CHOICE>Documentation</CHOICE>                 </CHOICES>               </Field>",             true, AddFieldOptions.DefaultValue);         Field field2 = list.Fields.AddFieldAsXml(             @"<Field Type='Number'                      DisplayName='Estimate'/>",             true, AddFieldOptions.DefaultValue);          // Add some data.         ListItemCreationInformation itemCreateInfo =             new ListItemCreationInformation();         ListItem listItem = list.AddItem(itemCreateInfo);         listItem["Title"] = "Write specs for user interface.";         listItem["Category"] = "Specification";         listItem["Estimate"] = "20";         listItem.Update();          listItem = list.AddItem(itemCreateInfo);         listItem["Title"] = "Develop proof-of-concept.";         listItem["Category"] = "Development";         listItem["Estimate"] = "42";         listItem.Update();                  listItem = list.AddItem(itemCreateInfo);         listItem["Title"] = "Write test plan for user interface.";         listItem["Category"] = "Test";         listItem["Estimate"] = "16";         listItem.Update();          listItem = list.AddItem(itemCreateInfo);         listItem["Title"] = "Validate SharePoint interaction.";         listItem["Category"] = "Test";         listItem["Estimate"] = "18";         listItem.Update();          listItem = list.AddItem(itemCreateInfo);         listItem["Title"] = "Develop user interface.";         listItem["Category"] = "Development";         listItem["Estimate"] = "18";         listItem.Update();          clientContext.ExecuteQuery();     } } 在很多情况下,如果您可以创建客户端对象,则应用程序可以调用 Add 方法(该方法将用于指定创建信息的对象作为参数)。该示例演示了如何使用 ListCreationInformation 类创建 List 对象,以及如何使用 ListItemCreationInformation 类创建 ListItem 对象。您经常会在实例化创建信息类之后设置其属性。您会看到,该代码设置了 ListItemCreationInformation 对象的 Title 属性和 TemplateType 属性。请注意,若要创建列表,需要调用 Add 方法,但是若要创建 ListItem 对象,需要调用 AddItem 方法。Add 方法会在集合中创建一个列表,而 AddItem 方法会创建单个列表项。  在列表中创建字段同样不会使用 Add 方法,这是因为在您创建字段时,您并不是在真正地创建 Field 类的实例,而是创建从 Field 类派生的类的实例。有许多可用于这些派生类的选项,而使用 Add 方法会大大增加 FieldCreationInformation 类的设计的复杂性。因此,客户端对象模型不包括这样的类。而创建字段最简单的方法是指定一些用于定义字段的 XML,然后将这些 XML 传递给 AddFieldAsXml 方法。有一种 Add 方法可用来创建字段,但该方法不采用 FieldCreationInformation 对象而是采用另一个 Field 对象作为参数,以将该参数用作要创建的字段的原型。在有些情况下,这非常有用。  提示: 本文的发现字段架构一节演示了一种简单方法,可用于发现必须为要创建的字段指定的 XML。 当然,请注意,在应用程序调用 ExecuteQuery 方法之前,并不会有任何对象实际添加到 SharePoint 数据库中。  该示例中还有一个值得关注的地方。请注意,在调用 AddItem 方法后,该示例会设置三个索引属性。代码会设置之前添加到列表中的字段的值。设置这些属性后,应用程序必须调用 Update 方法,通知客户端对象模型这些对象已被修改。如果不这样做,客户端对象模型将无法正常工作。您会看到 Update 方法,在后面演示如何修改现有客户端对象的示例中,将会用到该方法。  现在您已经有了一些数据,我们来探讨一些查询和更改这些数据的有趣方法。
  评论这张
 
阅读(843)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018