Sharepoint 2007:为自定义字段类型创建多行文本自定义属性?

时间:2011-02-22 19:31:40

标签: sharepoint sharepoint-2007 choice customproperty

我正在尝试扩展内置的Choice字段类型以包含另一段数据:正确的答案。有了这个,用户就可以直接在Sharepoint中创建自己的测试,而不必使用InfoPath或其他一些复杂的解决方案。我希望继承现有的SPFieldChoice类型,并添加一个自定义属性来保存一个整数,表示输入的选项中的正确答案。

我有一个继承自SPFieldChoice的FieldTestQuestion类以及一个继承自RadioButtonChoiceField的非常基本的TestQuestionFieldControl类。我的fldtypes_TestQuestionField.xml文件:

  <FieldTypes>
    <FieldType>
        <Field Name="TypeName">TestQuestion</Field>
        <Field Name="ParentType">Choice</Field>
        <Field Name="TypeDisplayName">Test Question (Multiple choice)</Field>
        <Field Name="TypeShortDescription">Test Question (Multiple choice)</Field>
        <Field Name="UserCreatable">TRUE</Field>
        <Field Name="ShowInColumnTemplateCreate">TRUE</Field>
        <Field Name="FieldTypeClass">MyCustomFieldTypes.FieldTestQuestion,MyCustomFieldTypes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=****</Field>
        <PropertySchema>
            <Fields>
                <Field Name="CorrectAnswer" DisplayName="Correct answer (line number)" Type="Integer">
                    <Default></Default>
                </Field>
            </Fields>
        </PropertySchema>
    </FieldType>
  </FieldTypes>

不幸的是,当我尝试添加此类型的列时,这就是渲染: My custom property http://www.mudman.us/stackoverflow/TestQuestionFieldCustomProperties.png

没有与Choice字段类型一样添加选项的选项: Custom multi-line text property on the built-in Choice field type http://www.mudman.us/stackoverflow/ChoiceFieldCustomProperties.png

我需要在fldTypes_.xml中放置什么来告诉Sharepoint:(a)使用Choice列的现有自定义属性并添加我指定的额外属性,或者(b)专门定义多行文本自定义属性?

1 个答案:

答案 0 :(得分:2)

似乎正在为SPFieldChoice列专门创建Choice输入框;许多不可继承的功能之一。这意味着您不太可能说服SharePoint为您的自定义字段类型重现它。

我的建议是选择b),然后自己创建。我相信将其添加到<fields>元素将会起到作用:

<Field Name="ChoiceFix" DisplayName="Type each choice on a separate line:" Type="Note" />

请注意,我没有测试过这种解决方案的可靠性,您可能不得不采用令人不快的方式制作自己的Field Editor Control。