Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sharepoint-通过对象模型将自定义列添加到列表_Sharepoint - Fatal编程技术网

sharepoint-通过对象模型将自定义列添加到列表

sharepoint-通过对象模型将自定义列添加到列表,sharepoint,Sharepoint,我不知道如何使用对象模型将自定义列类型添加到列表中 SPFieldCollection.Add()具有参数SPFieldType,但该参数必须是Microsoft.SharePoint.SPFieldType枚举中的枚举值之一,因此不能用于创建自定义类型的列 接下来我尝试使用SPFieldCollection.CreateNewField(),但当我对返回的值调用SPField.Update()时,我得到一个异常:“ArgumentException未处理。该值不在预期范围内。” 我在这里看到了

我不知道如何使用对象模型将自定义列类型添加到列表中

SPFieldCollection.Add()具有参数SPFieldType,但该参数必须是Microsoft.SharePoint.SPFieldType枚举中的枚举值之一,因此不能用于创建自定义类型的列

接下来我尝试使用SPFieldCollection.CreateNewField(),但当我对返回的值调用SPField.Update()时,我得到一个异常:“ArgumentException未处理。该值不在预期范围内。”

我在这里看到了对SPFieldCollection.AddFieldAsXml()的引用:但几乎没有任何信息,我不确定这是正确的方向


更新:我在AddFieldAsXml上找到了一篇帖子,结果证明它非常简单,对我来说效果很好。无论如何,我都希望它能帮助其他人。

SPFieldCollection.AddFieldAsXml()是我所能说的最有效的方法。请参见此处的示例:

您可能应该将找到的解决方案移动到答案中。
 Try with:

 SPField newField = null;
 newField= web.Fields.CreateNewField("MyFieldTypeName", fieldName); 
 web.Fields.Add(newField);

 newField = web.Fields[fieldName];

 // set some properties
 newField.ShowInDisplayForm = false;
 newField.ShowInViewForms = true;
 newField.Update();