使用Sharepoint客户端对象模型创建类型为user、multichoice和multiuser的站点列



我正在尝试创建具有以下类型的网站列:文本、注释、数字、选项、用户、多用户、多选项

除了User、MultiChoice和MultiUser之外,我已经为所有类型实现了它似乎找不到如何实现它。这就是我迄今为止所取得的成就。

StringBuilder choiceFieldGenericShema = new StringBuilder();
                choiceFieldGenericShema.Append("<Field Type='Choice' Format='Dropdown' Group='{1}' Name='{0}' DisplayName='{2}' Status='{3}' > <CHOICES> ");
                choiceFieldGenericShema.Append("</CHOICES>  </Field> ");
                string choicFieldSchema = string.Format(choiceFieldGenericShema.ToString(), columnItem.Title, columnItem.GroupName, columnItem.Name, columnItem.Status);
                var newField = web.Fields.AddFieldAsXml(choicFieldSchema, true, AddFieldOptions.DefaultValue);
                clientContext.Load(newField);
                clientContext.ExecuteQuery();

有人能按照上面的方法提出一种方法来完成我的任务吗?提前感谢!

我建议你看看这些文章:

  • 包含不同字段类型的XML声明的列表
  • 向网站添加列

在这种情况下,您需要对一些属性进行调整,以切换选项+用户字段的多选:

选择:

<Field Type="MultiChoice" 
DisplayName="Labels_Selected" 
FillInChoice="FALSE" 
Group="Sample Site Columns" 
ID="{2fdf0ba7-0052-4e9f-80f6-e7669ac4ae4f}"
SourceID="http://schemas.microsoft.com/sharepoint/v3"
StaticName="LabelsSelected" Name="LabelsSelected"> 
</Field>

用户:

<Field ID="{A0372EB5-A947-41CA-A5FA-A34C29D2FB88}"
Name="Employee"
DisplayName="Employee"
Type="UserMulti"
Required="TRUE"
StaticName="Employee"
UserSelectionMode="PeopleOnly"
Group="SampleGroup"/>

您可以使用csom创建站点列,下面是代码

string schemaChoiceField = "<Field ID='<GUID>' Type='Choice' Name='SideDishesChoice' StaticName='SideDishesChoice' 
   DisplayName='Side dishes' Format='RadioButtons'>"
   + "<Default>Patatoes</Default>"
   +         "<CHOICES>"
   +         "    <CHOICE>Fresh vegetables</CHOICE>"
   +         "    <CHOICE>Beans</CHOICE>"
   +         "</CHOICES>"
   + "</Field>";

对于下拉菜单或单选按钮,请单击链接http://projectservercode.com/create-choice-type-site-column-using-csom-sharepoint/

相关内容

  • 没有找到相关文章

最新更新