使用Sharepoint Client Object Model创建user,multichoice和multiuser类型的站点列

时间:2015-02-18 05:40:55

标签: sharepoint csom sharepoint-clientobject site-column

我正在尝试使用以下类型创建网站列:文字,笔记,数字,选择,用户,多用户,MultiChoice

我为所有类型实现了它,除了 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();

任何人都可以建议按照上述方法来实现我的任务吗?提前谢谢!

2 个答案:

答案 0 :(得分:1)

我建议你看一下这些文章:

在这种情况下,您需要调整一些属性来切换选择+用户字段的多选:

选择:

<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"/>

答案 1 :(得分:0)

您可以使用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/