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


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

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

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

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

  • Структура синтаксиса

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

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

  • Указание набора разрешенных значений

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

Примечание

Чтобы добавить или изменить список выбора для определения FIELD, используйте средство командной строки witadmin для импорта и экспорта определения для типа рабочего элемента.См. раздел Импорт и экспорт типов рабочих элементов и управление ими [witadmin].

Структура синтаксиса

Чтобы указать список значений, которые пользователь должен, может или не должен задать в качестве значения поля, можно использовать элементы 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.

Указание набора разрешенных значений

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

<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>

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

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

Примечание

Правила 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-элементов

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