Поделиться через


Определение списков выбора

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

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

Содержание раздела

  • Синтаксическая структура для перечисления списков выбора

  • Структура синтаксиса для элементов GLOBALLIST и LISTITEM

  • Разрешение существующего значения

  • Перечисление набора разрешенных значений

  • Определение зависимых списков выбора

Синтаксическая структура для перечисления списков выбора

С помощью элементов ALLOWEDVALUES, SUGGESTEDVALUES и PROHIBITEDVALUES можно задать список значений, которые пользователи должны указывать, могут указывать или не должны указывать в качестве значений для поля. Каждый из этих элементов позволяет перечислить список значений или указать глобальный список. Элемент ALLOWEXISTINGVALUE позволяет полю сохранить существующее значение, если из списка выбора был удален элемент.

Эти элементы можно указать в качестве дочерних элементов элемента FIELD (определение) или FIELD (рабочий процесс).

  • Элемент ALLOWEDVALUES позволяет определить список значений, которые пользователи могут указывать в форме рабочего элемента или в редакторе запросов. Пользователи должны указать одно значение из списка GLOBALLIST или из набора записей LISTITEM.

    <ALLOWEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">
       <GLOBALLIST name="globalListName" />
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </ALLOWEDVALUES>
    
  • Элемент PROHIBITEDVALUES служит для определения списка значений, которые не могут содержаться в поле. Пользователи не могут сохранить рабочий элемент, если поле содержит запрещенное значение. Этот элемент используется, если требуется запретить использование значения, которое раньше было разрешено, однако более не является допустимым.

    <PROHIBITEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">
       <GLOBALLIST name="globalListName" />
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </PROHIBITEDVALUES>
    
  • Элемент SUGGESTEDVALUES служит для определения списка значений, которые могут содержаться в поле. Пользователи могут указывать значения, отличные от предлагаемых.

    <SUGGESTEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">
       <GLOBALLIST name="globalListName" />
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </SUGGESTEDVALUES>
    

Для каждого из этих элементов можно указать один или более атрибутов, описанных в следующей таблице.

Атрибут

Описание

for

Необязательный. Задает имя пользователя или группы Team Foundation, к которым применяется данное правило. Допустимые имена представляют собой текстовую строку длиной от 1 до 255 знаков.

Значение шаблона: ^[^\\]+\\[^\\]+$

Пример значения шаблона: Domain\userID

not

Необязательный. Задает имя пользователя или группы Team Foundation, к которым данное правило не применяется. Допустимые имена представляют собой текстовую строку длиной от 1 до 255 знаков.

Значение шаблона: ^[^\\]+\\[^\\]+$

Пример значения шаблона: Domain\userID

expanditems

Необязательный. Указывает, должна ли группа, заданная в элементе LISTITEM, быть развернута для включения подчиненных групп в список. Значение по умолчанию — true.

filteritems

Необязательный. Указывает, что в список включены только члены групп, а не имена групп. Единственное допустимое значение этого атрибута — excludegroups.

Дополнительные сведения см. в разделе Определение и использование списков, списков выбора и глобальных списков.

К началу

Структура синтаксиса для элементов GLOBALLIST и LISTITEM

Элементы GLOBALLIST и LISTITEM позволяют задать список элементов, которые могут обновляться глобально или которые относятся только к одному полю.

  • Элемент GLOBALLIST служит для определения набора элементов LISTITEM, который сохранен для коллекции командных проектов и может использоваться во всех командных проектах этой коллекции. GLOBALLIST является обязательным дочерним элементом элемента GLOBALLISTS и необязательным дочерним элементом элементов ALLOWEDVALUES, SUGGESTEDVALUES и PROHIBITEDVALUES. Глобальный список можно определить в определении рабочего элемента, определении глобального списка или в глобальном рабочем процессе.

    <GLOBALLIST name="globalListName">
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </GLOBALLIST> 
    

    globalListName. Текстовая строка длиной от 1 до 255 знаков.

    Важно!

    Если глобальный список определить в XML-файле, определяющем тип рабочего элемента, ему нужно дать уникальное имя.В противном случае можно перезаписать существующий глобальный список, который определен для коллекции.

  • Элемент LISTITEM служит перечисления набора значений. LISTITEM является обязательным дочерним элементом элемента GLOBALLIST и необязательным дочерним элементом элементов ALLOWEDVALUES, SUGGESTEDVALUES и PROHIBITEDVALUES.

    <LISTITEM value="listName" />
    

    listName. Текстовая строка длиной от 1 до 255 знаков.

К началу

Разрешение существующего значения

С помощью элемента ALLOWEXISTINGVALUE можно разрешить полю сохранять существующие значения после задания списка выбора с помощью элемента ALLOWEDVALUES. Если элемент ALLOWEXISTINGVALUE не указан, пользователь должен во время редактирования поля указать одно из допустимых в данный момент значений. Модифицирующее воздействие элемента ALLOWEXISTINGVALUE распространяется только на элементы из того же блока.

<ALLOWEXISTINGVALUE />

Этот элемент следует указывать под элементом FIELD (рабочий процесс), чтобы он применялся к определенным для поля правилам. Это приложение включает правила, заданные элементами STATE, TRANSITION, DEFAULTREASON и REASON поля. Этот элемент задается под элементом STATE, чтобы применять к нему только правила, определенные в состоянии для поля, а также правила, определенные для поля для всех переходов в данное состояние.

Этот элемент задается под элементом TRANSITION, чтобы применять к нему не только правила, определенные в переходе для поля, а также правила, определенные для поля в элементах REASON и DEFAULTREASON.

К началу

Перечисление списка

Списки полей состоят из отдельных элементов списков. Каждый список полей должен содержать не менее одного элемента.

Примечание

Глобальные списки не должны содержать группы уровня проекта, поскольку они не направлены на область проекта.

Для указания элементов в списке полей, используйте элемент <LISTITEM value="">. Можно указать строку, имя пользователя или имя группы.

<LISTITEM value="Emergency"/>
<LISTITEM value="Major"/>
<LISTITEM value="Minor"/>
<LISTITEM value="Domain\joe"/>
<LISTITEM value="[Global]\GlobalGroup" />
<LISTITEM value="[Project]\ProjectGroup" />

Примечание

Во время выполнения элементы списка отображаются в алфавитном порядке в зависимости от языка сервера, на котором работает Visual Studio Team Foundation Server.

К началу

Перечисление набора разрешенных значений

В этом примере поле "Customer Severity" может содержать любое из трех значений: "Emergency", "Major" и "Minor". Поле определяется как обязательное и по умолчанию содержит значение "Minor". Во время выполнения пользователи могут задавать одно из трех значений в раскрывающемся списке.

<FIELD refname="System.Title" name="Title" type="String">
<HELPTEXT>Provide a brief description of the work item</HELPTEXT>
<REQUIRED/>
</FIELD>
<FIELD refname="MyCorp.CusSeverity" name="Customer Severity" type="String">
<HELPTEXT>Indicate the severity of the problem</HELPTEXT>
    <ALLOWEDVALUES>
        <LISTITEM value="Emergency">
        <LISTITEM value="Major">
        <LISTITEM value="Minor">
    </ALLOWEDVALUES>
<DEFAULT from="value" value="Minor"/>
</FIELD>

К началу

Определение зависимых списков выбора

Можно определить список выбора, который будет активен только при выполнении родительского условного предложения. В следующем примере для поля My Field задано два набора списков выбора. Во время выполнения отображается только один список в зависимости от того, присвоено ли полю MyCompany.MyTeam.Discipline значение "Requirements".

Примечание

Правила WHEN и WHENNOT, используемые в этом примере, можно применить и к другим правилам, чтобы указать, когда следует их проверить.Дополнительные сведения см. в разделе Назначение условных значений и правил.

<FIELD name="My Field" refname="MyCompany.MyProcess.MyField" type="String" reportable="dimension">
  <WHEN field="MyCompany.MyTeam.Discipline" value="Requirements">
    <ALLOWEDVALUES>
      <LISTITEM value="Planning" />
      <LISTITEM value="Review" />
    </ALLOWEDVALUES>
  </WHEN>
  <WHENNOT field=" MyCompany.MyTeam.Discipline" value="Requirements">
    <ALLOWEDVALUES>
      <LISTITEM value="Process Management" />
      <LISTITEM value="Planning" />
      <LISTITEM value="Review" />
    </ALLOWEDVALUES>
  </WHENNOT>
</FIELD>

К началу

См. также

Основные понятия

Определение и использование списков, списков выбора и глобальных списков

Другие ресурсы

Указатель определений XML-элементов для типов рабочих элементов

Настройка глобального рабочего процесса

Определение полей рабочих элементов

Журнал изменений

Дата

Журнал

Причина

Январь 2011

Добавлена структура синтаксиса и дополнительные примеры.

Улучшение информации.