Задать пользовательские свойства для настраиваемого типа поля в функции типа содержимого - PullRequest
5 голосов
/ 27 октября 2010

Я создал настраиваемый тип поля (производный от SPFieldText) и добавил настраиваемое свойство «MyProperty».Теперь, что я ищу, мне нужно использовать этот тип поля в моей функции типа контента.

Как я могу специфицировать свое пользовательское свойство в файле определения типа контента, точно так же, как мы делаем с типами полей OOB?

Я видел обходной путь здесь , ноэто только решает только проблему проверки XSD.Столбец сайта устанавливается правильно, но значение, указанное в функции, не устанавливается для столбца после его установки.

Заранее спасибо

Арун

Ответы [ 3 ]

1 голос
/ 21 октября 2011

как то так

<Field ID="{aec8cea1-d0df-49fc-baef-d356e58423f4}" Name="ClientWorkspace" DisplayName="$Resources:Nervogrid.Lauxtermann.Root,FieldWorkspaceDisplayName;" Type="ExtendedWorkspace" Group="$Resources:Nervogrid.Lauxtermann.Root,GroupLauxtermannFields;" AllowDuplicateValues="FALSE">
    <Customization>
      <ArrayOfProperty>
        <Property>
          <Name>SiteTemplates</Name>
          <Value xmlns:q1="http://www.w3.org/2001/XMLSchema" p4:type="q1:string" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance">;#12203;#</Value>
        </Property>
        <Property>
          <Name>HideOnDisplayForm</Name>
          <Value xmlns:q2="http://www.w3.org/2001/XMLSchema" p4:type="q2:string" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance">$Resources:core,fld_no;</Value>
        </Property>
        <Property>
          <Name>HideOnEditForm</Name>
          <Value xmlns:q3="http://www.w3.org/2001/XMLSchema" p4:type="q3:string" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance">$Resources:core,fld_yes;</Value>
        </Property>
      </ArrayOfProperty>
    </Customization>
  </Field>
1 голос
/ 25 октября 2011

Это сработало для меня

     <Field ID="{EB4A62A3-5722-4D12-9AB8-BB36461D8E5D}" Type="MyCustomFieldType" Name="Website" DisplayName="Website" StaticName="Website" Required="true">
        <Customization>
          <ArrayOfProperty>
            <Property>
              <Name>MyFirstProperty</Name>
              <Value>www.stackoverflow.com</Value>
            </Property>
            <Property>
              <Name>MySecondProperty</Name>
              <Value>stackoverflow</Value>
            </Property>
          </ArrayOfProperty>
        </Customization>
      </Field>

Вы можете получить доступ к свойству в классе проверки, как это:

string myFieldValue = ((XmlNode[])this.GetCustomProperty("MyFirstProperty"))[0].Value;
0 голосов
/ 27 октября 2010

Вот ветка на форумах msdn, которая должна ответить на ваш вопрос.- http://social.msdn.microsoft.com/forums/en-US/sharepointdevelopment/thread/fb1cb936-3abb-48c2-8d19-49007688dc34/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...