Come utilizzare la funzione hook per la creazione di un elenco dipendente

Informazioni su questa attività

Nel seguente esempio si presume che i valori del sistema operativo client siano diversi a seconda dei valori che l'utente seleziona per il sistema operativo server.

  1. Nel campo server_os, creare un hook di elenco selezioni con l'elenco definito di valori impostati in Windows NT e UNIX:
    • VBScript
      choices.AddItem("NT")
      choices.AddItem("Unix")
    • Perl
      push(@choices,"NT","Unix");
      return @choices; #Questa riga di codice viene fornita da Rational ClearQuest Designer
  2. Per evitare che utenti aggiungano nuovi membri all'elenco, selezionare la casella di spunta Limita all'elenco.
  3. Per annullare il vecchio valore in client_os, una volta selezionato un nuovo valore in server_os, aggiungere la seguente riga nella funzione hook di valore modificato del server_os:
    • VBScript
      SetFieldValue "client_os", ""
    • Perl
      $entity->SetFieldValue("client_os", "");
  4. Nel campo client_os, creare un hook di elenco selezioni:
    • VBScript
      dim server_os_choice 
      
      set server_os_choice = GetFieldValue("server_os") 
      
      select case server_os_choice.GetValue() 
      
      case "NT" 
      
         choices.AddItem ("Win95") 
      
         choices.AddItem ("NT") 
      
         choices.AddItem ("Web") 
      
      case "Unix" 
      
         choices.AddItem ("Web") 
      
      end select
    • Perl
      $server_os_choice = $entity->GetFieldValue("server_os"); 
      
      $svalue = $server_os_choice->GetValue();
      
      if ($svalue eq "NT") { 
      
        push(@choices, "Win95","NT","Web");
      
      } elsif ($svalue eq "Unix") {
      
        push(@choices,"CQWeb");
      
      }
      
      return @choices; 
      
      #Questa riga di codice viene fornita da Rational ClearQuest Designer
  5. Nelle proprietà della funzione hook client_os, selezionare Calcola nuovamente l'elenco selezioni, così ogni volta che si modifica il campo server_os, i valori vengono ricalcolati.
  6. Aggiungere nel modulo i campi client_os e server_os utilizzando i controlli delle caselle di elenco.

Feedback