我想根据 SharePoint 2010 中的选择字段创建自定义字段类型。我的代码:Fldtypes_OpenChoiceField.xml:
<?xml version="1.0" encoding="utf-8" ?>
<FieldTypes>
<FieldType>
<Field Name="TypeName">OpenChoice</Field>
<Field Name="ParentType">Choice</Field>
<Field Name="TypeDisplayName">OpenChoice</Field>
<Field Name="TypeShortDescription">Choice with open answers</Field>
<Field Name="UserCreatable">TRUE</Field>
<Field Name="AllowBaseTyp eRendering">TRUE</Field>
<Field Name="ShowOnListAuthoringPages">TRUE</Field>
<Field Name="ShowOnDocumentLibraryAuthoringPages">TRUE</Field>
<Field Name="ShowOnSurveyAuthoringPages">TRUE</Field>
<Field Name="ShowOnSurveyCreate">TRUE</Field>
<Field Name="ShowOnColumnTemplateAuthoringPages">TRUE</Field>
<Field Name="FieldTypeClass">FieldTypes.SharePoint.OpenChoiceField,$SharePoint.Project.AssemblyFullName$</Field>
<Field Name=" ">/_controltemplates/Fields_SharePoint/OpenChoiceFieldEditor.ascx</Field>
</FieldType>
</FieldTypes>
OpenChoiceField.cs:
namespace FieldTypes.SharePoint
{
public class OpenChoiceField : SPFieldChoice
{
public OpenChoiceField(SPFieldCollection fields, string fieldName)
: base(fields, fieldName)
{
}
public OpenChoiceField(SPFieldCollection fields, string typeName, string displayName)
: base(fields, typeName, displayName)
{
}
}
}
当我创建具有自定义字段类型的列时,我在附加列设置部分中看到只有默认设置(描述、要求、强制唯一、添加到默认视图)。但是我需要在选择字段中进行所有设置(键入每个选择...,使用显示选择,允许填写选择,默认值)。如何在我的自定义字段中插入这些属性?可能需要我添加一些标准控件来编辑控件(/_controltemplates/Fields_SharePoint/OpenChoiceFieldEditor.ascx)?