gpt4 book ai didi

c# - 以编程方式重新排序 Sharepoint 内容类型字段

转载 作者:太空宇宙 更新时间:2023-11-03 10:31:45 25 4
gpt4 key购买 nike


如何通过 C# 和 Sharepoint 2010 客户端对象模型Sharepoint 2010 Web 服务 在创建和编辑表单中设置内容类型字段的顺序?
谢谢。

最佳答案

以下示例演示了如何使用 CSOM 对内容类型中的字段重新排序

var ctId = "0x01020047F5B07616CECD46AADA9B5B65CAFB75";  //Event ct
var listTitle = "Calendar";
using (var ctx = new ClientContext(webUri))
{

var list = ctx.Web.Lists.GetByTitle(listTitle);
var contentType = list.ContentTypes.GetById(ctId);


//retrieve fields
ctx.Load(contentType,ct => ct.FieldLinks);
ctx.ExecuteQuery();
var fieldNames = contentType.FieldLinks.ToList().Select(ct => ct.Name).ToArray();

fieldNames.ShiftElement(1, 2); //Ex.:Render Title after Location in Calendar

//reorder
contentType.FieldLinks.Reorder(fieldNames);
contentType.Update(false);
ctx.ExecuteQuery();
}

在哪里

public static class ArrayExtensions
{
//from http://stackoverflow.com/a/7242944/1375553
public static void ShiftElement<T>(this T[] array, int oldIndex, int newIndex)
{
// TODO: Argument validation
if (oldIndex == newIndex)
{
return; // No-op
}
T tmp = array[oldIndex];
if (newIndex < oldIndex)
{
// Need to move part of the array "up" to make room
Array.Copy(array, newIndex, array, newIndex + 1, oldIndex - newIndex);
}
else
{
// Need to move part of the array "down" to fill the gap
Array.Copy(array, oldIndex + 1, array, oldIndex, newIndex - oldIndex);
}
array[newIndex] = tmp;
}
}

结果

之前

enter image description here

之后

enter image description here

关于c# - 以编程方式重新排序 Sharepoint 内容类型字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29897213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com