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