メイン コンテンツをスキップする 補完的コンテンツへスキップ

ダイナミックなドロップダウンリストを作成

最初のシナリオでは、tJavaコンポーネント内のリストをハードコードしました。しかし、リストの項目はデータソースからのものである場合があります。たとえば、項目はデータベーステーブルに保管されており、その数が不明であることがあります。

このジョブは、次のコンポーネントを使用します:

  • employeeテーブルから人物情報をクエリーするtMysqlInputコンポーネント、
  • コンテキスト変数で、ダイナミックなドロップダウンリストを準備して、ランタイムにユーザーから選択された値を保管するtJavaFlex
  • tJavaFlexによって処理された情報を生成する2つ目のtMysqlInputコンポーネント、
  • コンソールに結果を出力するtLogRowコンポーネント。

手順

  1. [Palette] (パレット)から、tMysqlInputコンポーネントとtJavaFlexコンポーネントをデザインワークスペースにドロップします。[行] > [メイン]リンクを使用してコンポーネントを接続します。
  2. [Palette] (パレット)から、2番目のtMysqlInputコンポーネントとtLogRowコンポーネントをデザインワークスペースにドロップします。[行] > [メイン]リンクを使用してコンポーネントを接続します。 [Trigger] (トリガー) > [On Subjob ok] (サブジョブがOKの場合)接続を使って、最初のサブジョブを2番目のサブジョブにリンクします。
  3. [Context] (コンテキスト)タブをクリックして、String型のnamedと名付けられたコンテキスト変数を定義します。
  4. 1つ目のtMysqlをダブルクリックして、以下の例のように設定します:
    1. 以下のクエリーをクエリーボックスに追加します:
      "select name from employee"
    2. スキーマを編集して、このスキーマを設定するために使われます。
  5. tJavaFlexコンポーネントをクリックして、その[Basic settings] (基本設定)ビューを開いて、次のコードを追加します:
    1. [Start code] (開始コード)ボックスに:
      java.util.ArrayList<String> list=new
                                          java.util.ArrayList<String> ();
    2. [Main code] (メインコード)ボックスに:
      list.add(row1.name);
    3. [End code] (終了コード)ボックスに:
      String [] nameList=new String[list.size()];
                                      nameList=list.toArray(nameList);
                                      JFrame frame = new JFrame("Input Dialog Example");
                                      String returnValue = (String) JOptionPane.showInputDialog(frame,
                                      "Select the name you want to query?","Employee Information",JOptionPane.QUESTION_MESSAGE,null,nameList,nameList[0]);
                                      context.name=returnValue;
  6. tJavaコンポーネントの[Advanced Settings] (詳細設定)パネルに、このジョブで使用されるクラスの完全パスをインポートします。
  7. 上のシナリオのように、2つ目のtMysqlInputコンポーネントを設定し、employeeテーブルから人物情報をクエリーし、tLogRowを使って結果をコンソールに出力します。
  8. ジョブを実行します。以下のように、テーブル内の名前はすべてリストの項目です:
  9. たとえば、リストからNicolasを選択します。Nicolasに関する情報がテーブルからクエリーされて、コンソールに出力されます。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。