您的位置:首页 > 移动开发 > Objective-C

Sharepoint Client Object Model 之 开发基于.NET的应用程序

2014-08-28 09:35 465 查看
前提:引用using Microsoft.SharePoint.Client;和using Microsoft.SharePoint.Client.Runtime两个类库

1、客户端Create a List

ListCreationInformation listCreationInfo =
new ListCreationInformation();
listCreationInfo.Title = "Client API Test List";
listCreationInfo.TemplateType = (int)ListTemplateType.GenericList;
List list = clientContext.Web.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);
clientContext.ExecuteQuery();

2、客户端Add ListItem

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

 3、访问大型列表使用
ListItemCollectionPosition 属性进行分页的方法。

using System;
using System.Linq;
using Microsoft.SharePoint.Client;

class Program
{
static void Main()
{
ClientContext clientContext =
new ClientContext("http://intranet.contoso.com");

List list = clientContext.Web.Lists
.GetByTitle("Client API Test List");

// First, add 20 items to Client API Test List so that there are
// enough records to show paging.
ListItemCreationInformation itemCreateInfo =
new ListItemCreationInformation();
for (int i = 0; i < 20; i++)
{
ListItem listItem = list.AddItem(itemCreateInfo);
listItem["Title"] = String.Format("New Item #{0}", i);
listItem["Category"] = "Development";
listItem["Estimate"] = i;
listItem.Update();
}
clientContext.ExecuteQuery();

// This example shows paging through the list ten items at a time.
// In a real-world scenario, you would want to limit a page to
// 2000 items.
ListItemCollectionPosition itemPosition = null;
while (true)
{
CamlQuery camlQuery = new CamlQuery();
camlQuery.ListItemCollectionPosition = itemPosition;
camlQuery.ViewXml =
@"<View>
<ViewFields>
<FieldRef Name='Title'/>
<FieldRef Name='Category'/>
<FieldRef Name='Estimate'/>
</ViewFields>
<RowLimit>10</RowLimit>
</View>";
ListItemCollection listItems = list.GetItems(camlQuery);
clientContext.Load(listItems);
clientContext.ExecuteQuery();
itemPosition = listItems.ListItemCollectionPosition;
foreach (ListItem listItem in listItems)
Console.WriteLine("  Item Title: {0}", listItem["Title"]);
if (itemPosition == null)
break;
Console.WriteLine(itemPosition.PagingInfo);
Console.WriteLine();
}
}
}


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息