以下是一个示例代码,演示如何按轮流的方式将 SharePoint 列表项分配给一组人员:
using Microsoft.SharePoint.Client;
using System;
class Program
{
static void Main(string[] args)
{
string siteUrl = "https://your-sharepoint-site-url";
string listName = "Your List Name";
string[] people = { "Person 1", "Person 2", "Person 3" }; // 人员列表
using (ClientContext context = new ClientContext(siteUrl))
{
List targetList = context.Web.Lists.GetByTitle(listName);
CamlQuery query = new CamlQuery();
query.ViewXml = " ";
ListItemCollection items = targetList.GetItems(query);
context.Load(items);
context.ExecuteQuery();
int count = items.Count;
int index = 0;
foreach (ListItem item in items)
{
// 获取当前人员
string assignedTo = people[index];
// 设置列表项的分配人员字段
item["AssignedTo"] = assignedTo;
item.Update();
// 移动到下一个人员
index = (index + 1) % people.Length;
}
context.ExecuteQuery();
}
Console.WriteLine("列表项已成功分配给一组人员。");
Console.ReadLine();
}
}
请确保将以下值替换为实际值:
siteUrl
:SharePoint 网站的 URL。listName
:目标列表的名称。people
:包含要分配给的人员名称的字符串数组。此代码使用 SharePoint CSOM (Client Side Object Model) 来连接到 SharePoint,并使用 CAML 查询来检索列表项。然后,它按照给定的人员顺序为每个列表项设置“AssignedTo”字段,并在每次循环中移动到下一个人员。最后,它保存更改并关闭连接。
请注意,此示例仅适用于 SharePoint Server 版本,而不适用于 SharePoint Online。在 SharePoint Online 中,您可以使用 PnP PowerShell 或 SharePoint REST API 来实现类似的功能。