従属リストの作成用フック

このタスクについて

以下の例は、クライアントのオペレーティング システムに必要な値は、ユーザーがサーバーのオペレーティング システム用に選択する値によって異なることを前提としています。

  1. server_os フィールドで、値の列挙リストが Windows NT および UNIX に設定された、選択リスト フックを作成します。
    • VBScript
      choices.AddItem("NT")
      choices.AddItem("Unix")
    • Perl
      push(@choices,"NT","Unix");
      return @choices; #Rational ClearQuest Designer provides this line of code
  2. ユーザーが新規メンバをリストに追加できないようにするために、 [リストに制限] チェック ボックスを選択します。
  3. 新規の値が server_os に選択された場合に client_os の旧の値をクリアするには、以下の行を server_os の変更された値フックに追加します。
    • VBScript
      SetFieldValue "client_os", ""
    • Perl
      $entity->SetFieldValue("client_os", "");
  4. client_os フィールドで、選択リスト フックを作成します。
    • 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; 
      
      #Rational® ClearQuest® Designer provides this line of code
  5. client_os フックのプロパティで、[選択リストを再計算] を選択します。これにより、server_os フィールドが変更されると常に、値が再計算されます。
  6. リスト ボックス コントロールを使用して、client_os および server_os フィールドをフォームに追加します。

フィードバック