組み込みのChoiceフィールドタイプを拡張して、別のデータ、つまり正解を含めようとしています。これにより、ユーザーは、InfoPathやその他の複雑なソリューションを使用する代わりに、Sharepoint内で直接独自のテストを作成できるようになります。既存のSPFieldChoiceタイプを継承し、入力された選択肢からの正解を表す整数を保持するカスタムプロパティをもう1つ追加したいと思っていました。
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>
残念ながら、これは、このタイプの列を追加しようとするとレンダリングされるものです:(
ソース:mudman.us)
Choiceフィールドタイプのように選択肢を追加するオプションはありません:(
ソース:mudman.us)
(a)Choice列に既存のカスタムプロパティを使用して指定した追加のプロパティを追加するか、(b)複数行のテキストカスタムプロパティを具体的に定義するようにSharepointに指示するには、fldTypes_.xmlに何を入力する必要がありますか?