Sharepoint 2007: создать многострочное текстовое настраиваемое свойство для настраиваемого типа поля? - PullRequest
3 голосов
/ 22 февраля 2011

Я пытаюсь расширить тип встроенного поля выбора, чтобы включить еще один фрагмент данных: правильный ответ. Благодаря этому пользователи смогут создавать свои собственные тесты непосредственно в Sharepoint вместо того, чтобы использовать InfoPath или какое-либо другое запутанное решение. Я надеялся просто унаследовать существующий тип SPFieldChoice и добавить еще одно пользовательское свойство для хранения целого числа, представляющего правильный ответ из введенных вариантов.

У меня есть класс FieldTestQuestion, который наследуется от SPFieldChoice вместе с довольно простым классом TestQuestionFieldControl, унаследованным от RadioButtonChoiceField. Мой файл 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>

К сожалению, это то, что отображается, когда я пытаюсь добавить столбец этого типа: Моя пользовательская собственность http://www.mudman.us/stackoverflow/TestQuestionFieldCustomProperties.png

Нет опции для добавления вариантов, как в случае с типом поля Choice: Настраиваемое многострочное текстовое свойство во встроенном поле выбора типа http://www.mudman.us/stackoverflow/ChoiceFieldCustomProperties.png

Что мне нужно добавить в мой файл fldTypes_.xml, чтобы сообщить Sharepoint либо (а) использовать существующие пользовательские свойства для столбца «Выбор» и ДОБАВИТЬ указанное мной дополнительное свойство, либо (б) специально определить многострочный пользовательский текст недвижимость?

1 Ответ

2 голосов
/ 23 февраля 2011

Казалось бы, поле ввода Выбор создается специально для столбцов SPFieldChoice;одна из многих не наследуемых функций.Это означает, что вы вряд ли сможете убедить SharePoint воспроизвести его для своего пользовательского типа поля.

Мой совет - выбрать вариант b) и создать его самостоятельно.Я полагаю, что добавление этого к элементу <fields> поможет:

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

Имейте в виду, что я не проверял надежность этого решения, и вам, возможно, придется пойти по колючему и неприятному пути созданияваш собственный элемент управления редактором полей.

...