IBM® Rational ClearQuest le permite especificar que los valores de un campo (campo dependiente) dependan de los valores de otro campo (campo padre). Para llevarlo a cabo, se debe definir un enganche de lista_opciones en el campo dependiente que establece la lista de opciones basada en el valor del campo padre.
En este ejemplo, hay dos campos: Platform y Version. Platform es el campo padre y tiene una lista de opciones constante (enumerada). Version es el campo dependiente que calcula el lista de opciones adecuada basada en el valor de Platform.
El enganche Lista de opciones de Version se recalcula cada vez que cambia Platform, puesto que se ha establecido la opción de Recalcular lista de opciones.
Se debe tener en cuenta que todos los cambios de campo desencadenan una nueva ejecución del enganche.
Por lo general, sólo se debe establecer Recalcular lista de opciones para los campos que tienen un enganche Lista de opciones definido y, en los que no se ha definido dicho enganche, no se debe establecer.
Este código de Enganche de lista de opciones determina el contenido enumerado de la lista de opciones basado en el valor del campo padre, Platform.
En los ejemplos siguientes:
' Add field choices for platforms
Dim platform
platform = GetFieldValue("platform").GetValue ()
select case platform
case "Windows 2000"
choices.AddItem ("Professional")
choices.AddItem ("Professional SP1")
choices.AddItem ("Server")
choices.AddItem ("Server SP1")
case "Windows NT Server"
choices.AddItem ("4.0")
choices.AddItem ("4.0 SP6A")
case "Windows 98"
choices.AddItem ("Win98")
end select
my $pltform;
$platform = ($entity->GetFieldValue("platform"))->GetValue();
if ($platform eq "Windows NT Workstation") {
push(@choices, "3.51", "4.0", "4.0 SP2", "4.0 SP3");
} else {
if ($platform eq "Windows NT Server") {
push(@choices, "4.0", "4.0 SP3");
} else {
if ($platform eq "Windows 95") {
push(@choices, "Win95");
} else {
push(@choices, " ");
}
}
}