2014-09-24 2 views
0

При проверке поля Taxonomy для флага .Open для поля всегда установлено значение false.TaxonomyField.Open всегда false

Это, однако, только для кода Codebehind, а не внутри самого SharePoint. В SharePoint флаг Open отображается в приложении «Управление хранилищем метаданных».

В общем, мы отбрасываем SPField на TaxonomyField и проверяем флаг Open, когда он открыт, мы показываем дополнительное поле ввода для добавления дополнительных элементов в таксономию.

ответ

0

Я отправлю решение на мой вопрос здесь, так как никто не делал до сих пор :)

Так что, если вы хотите проверить, если TaxonomyField.Open установлен, это зависит от 2-х конфигурациях:

  • ли Termset открыт для новых представлений
  • Является ли поле в списке установлен значением «Разрешить входные значения» Содержание
    • сайта -> Настройка списка -> поле -> Разрешить входные значения

Затем вы можете перебирать поля и принять меры на открытом флаге, например:

foreach (SPField field in item.Fields) { 
    if (field is TaxonomyField) { 
     var taxField = field as TaxonomyField; 
     if (taxField.Open) { 
      // field is open for this termset in this list (for this user) 
     } 
    } 
} 
Смежные вопросы