Using List Types in Combination

Visual Studio 2008

You can specify multiple types of lists for a single field. This topic defines how the resulting list of items is determined.

The following descriptions use these conventions:

• All values for an ALLOWEDVALUES list are identified as {set A}.

• All values for a PROHIBITEDVALUES list are identified as {set P}.

• All values for SUGGESTEDVALUES are identified as {set S}.

Legal Value Determination

The legal values allowed for a field are obtained by subtracting {set P} from {set A}. If {set A} has no entries, {set A} is considered to be all possible values. This is because no allowed values have been defined, so everything is allowed except those values specifically identified in {set P}. {Set S} plays no role in determining legal values for a field, but it does help determine the values that display in the drop-down list box.

Populating a Drop-Down List Box with List Values

The following rules use the content of the ALLOWEDVALUES, PROHIBITEDVALUES, and SUGGESTEDVALUES sets to determine the values that populate a drop-down list box.

```If {set S} AND {set A} have no entries
Result: Empty list
If {set S} has entries and {set A} has no entries
Result: The values are obtained by subtracting {set P} from {set S}
If {set S} AND {set A} have entries
Result: The list of values are obtained by:
a. Intersecting {set A} with {set S} to get {intermediate set I}
b. Subtracting {set P} from {intermediate set I}
If {set S} has no entries and {set A} has entries
Result: The list of values are obtained by subtracting {set P} from {set A}
```

Specifying Multiple Lists

If you specify multiple <ALLOWEDVALUE> sets at a particular point in time; for example, a work item type-wide <ALLOWEDVALUE> set plus a State-scoped <ALLOWEDVALUE> set, the intersection of these multiple sets is used as the final set, {set A}.

If you specify multiple <PROHIBITEDVALUES> sets or <SUGGESTEDVALUES> sets, the union of each of these multiple sets is taken as the final set, {set S} or {set P}, respectively.