プログラム的な動的フォームの作成
Graph Studioでは、Java (PGX)およびPython (PGX)インタプリタを使用して、動的フォームをプログラムで作成できます。
前提条件ステップとして、まず、フォームを表示して独自の変数名を定義し、コンテキストをインスタンス化できるコンテキストを「インポート」する必要があります。
import oracle.datastudio.interpreter.common.context.JavaDataStudioContext
JavaDataStudioContext ds = interpreter.getJavaDataStudioContext()from ds_interpreter_client.context.ds_context import PyDataStudioContext
ds = PyDataStudioContext()dsコンテキストを使用すると、フォームを表示して独自の変数名を定義できます。
次のステップでは、「テキスト・ボックス」、「選択」、「複数選択」、「スライダ」、「チェックボックス」、「Dateピッカー」、「Timeピッカー」および「DateTimeピッカー」の各形式のプログラムによる作成について説明します。 ノートブック・パラグラフを動的フォーム値(またはデフォルト値)で実行した場合にのみ、値がページ・リロード時に保持されることに注意してください。
- 任意の文字列を入力できる「テキスト・ボックス」動的フォームを作成します。
ds.textbox("<name>", "<default_value>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。
たとえば:

図java_text_box.pngの説明ds.textbox(name="<name>", default_value="<default_value>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。
たとえば:

図python_text_box.pngの説明 - ドロップダウン・メニューから値を選択できる「選択」動的フォームを作成します。
import oracle.datastudio.common.forms.ParamOption List<ParamOption<String>> options = new ArrayList<>() options.add(new ParamOption<>("<option_value_a>", "<option_label_a>")) options.add(new ParamOption<>("<option_value_b>", "<option_label_b>")) ds.select("<name>", options, "<default_value>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。
たとえば:

図java_select.pngの説明options = [("<option_value_a>", "<option_label_a>"),("<option_value_b>", "<option_label_b>")] ds.select(name="<name>", options=options, default_value="<default_value>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。
たとえば:

図python_select.pngの説明 - ドロップダウン・リストから1つ以上の値を選択できる「複数選択」動的フォームを作成します。
List<ParamOption<String>> options = new ArrayList<>(); options.add(new ParamOption<>("<option_value_a>", "<option_label_a>")); options.add(new ParamOption<>("<option_value_b>", "<option_label_b>")); List<String> defaultValues = new ArrayList<>(); defaultValues.add("<default_value>"); ds.selectMultiple("<name>", options, defaultValues, "<label>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。label(optional): 動的フォームの上に表示されるラベル。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。 「オプション」値のいずれかである必要があります。- 「オプション」は、
option_valueおよびoption_labelで構成されます。option_valueは、選択するdefault_valueを参照するために使用され、(オプション)option_labelがドロップダウン・リストに表示されます。 option_valueは、文字列または数値のいずれかです。- 解析された形式では、オプションは
|文字で区切られます。
- 「オプション」は、
たとえば:
options = [('<option_value_a>', '<option_label_a>'),('<option_value_b>', '<option_label_b>')] ds.select_multiple(name='<name>', options=options, default_value=['<default_value>'], label='<label>')前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。label(optional): 動的フォームの上に表示されるラベル。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。 「オプション」値のいずれかである必要があります。- 「オプション」は、
option_valueおよびoption_labelで構成されます。option_valueは、選択するdefault_valueを参照するために使用され、(オプション)option_labelがドロップダウン・リストに表示されます。 option_valueは、文字列または数値のいずれかです。- 解析された形式では、オプションは
|文字で区切られます。
- 「オプション」は、
たとえば:
- 特定の範囲から数値を選択できる「スライダ」動的フォームを作成します。
ds.slider("<name>", <minimum>, <maximum>, <step_size>, <default_value>)前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。minimum: スライダの最小値。 数値にする必要があります。maximum: スライダの最大値。 数値にする必要があります。step_size: スライダのステップ・サイズ。 次の数値および除数である必要があります(最大 - minimum).default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値 (minimum <= default_value <= maximum)。
たとえば:

図java_slider.pngの説明ds.slider(name="<name>", min=<minimum>, max=<maximum>, step=<step_size>, default_value=<default_value>)前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。minimum: スライダの最小値。 数値にする必要があります。maximum: スライダの最大値。 数値にする必要があります。step_size: スライダのステップ・サイズ。 次の数値および除数である必要があります(最大 - minimum).default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値 (minimum <= default_value <= maximum)。
たとえば:

図python_slider.pngの説明 - 1つまたは複数の値を選択できる「チェックボックス」動的フォームを作成します。
import oracle.datastudio.common.forms.ParamOption List<ParamOption<String>> options = new ArrayList<>() options.add(new ParamOption<>("<option_value_a>", "<option_label_a>")) options.add(new ParamOption<>("<option_value_b>", "<option_label_b>")) List<String> defaultValues = new ArrayList<>() defaultValues.add("<default_value>") ds.checkbox("<name>", options, defaultValues)前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。 「オプション」値のいずれかである必要があります:- 「オプション」は、
option_valueおよびoption_labelで構成されます。option_valueは、選択するdefault_valueを参照するために使用され、(オプション)option_labelは、チェック・ボックスによって作成されたそれぞれのボックスに表示されます。 option_valueは、文字列または数値のいずれかです。- 解析された形式では、オプションは
|文字で区切られます。
- 「オプション」は、
たとえば:

図java_checkbox.bmpの説明options = [("<option_value_a>", "<option_label_a>"),("<option_value_b>", "<option_label_b>")] ds.checkbox(name="<name>", options=options, default_value=["<default_value>"])前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。 「オプション」値のいずれかである必要があります:- 「オプション」は、
option_valueおよびoption_labelで構成されます。option_valueは、選択するdefault_valueを参照するために使用され、(オプション)option_labelは、チェック・ボックスによって作成されたそれぞれのボックスに表示されます。 option_valueは、文字列または数値のいずれかです。- 解析された形式では、オプションは
|文字で区切られます。
- 「オプション」は、
たとえば:

図python_checkbox.pngの説明 - 日付を選択できる「日付ピッカー」動的フォームを作成します。
ds.datePicker("<name>", "<date_format>", "<default_value>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。date_format(オプション、推奨): 選択した日付を入力フィールドに表示し、段落の実行時に結果の日付を書式設定するために使用される日付書式。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。date_formatが指定されていない場合は、date_formatまたはyyyy-MM-dd形式に従って指定する必要があります。
たとえば:

図java_date.pngの説明ds.date_picker(name="<name>", format="<date_format>", default_value="<default_value>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。date_format(オプション、推奨): 選択した日付を入力フィールドに表示し、段落の実行時に結果の日付を書式設定するために使用される日付書式。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。date_formatが指定されていない場合は、date_formatまたはyyyy-MM-dd形式に従って指定する必要があります。
たとえば:

図python_date_picker.pngの説明 - 時間を選択できる「時間ピッカー」動的フォームを作成します。
ds.timePicker("<name>", "<time_format>", "<default_value>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。time_format(オプション、推奨): 選択した時間を入力フィールドに表示し、段落の実行時に結果の時間を書式設定するために使用する時間書式。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。time_formatが指定されていない場合は、time_formatまたはHH:mm形式に従って指定する必要があります。
たとえば:

図java_time.pngの説明ds.time_picker(name="<name>", format="<time_format>", default_value="<default_value>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。time_format(オプション、推奨): 選択した時間を入力フィールドに表示し、段落の実行時に結果の時間を書式設定するために使用する時間書式。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。time_formatが指定されていない場合は、time_formatに従って、またはHH:mm形式で指定する必要があります。
たとえば:

図python_time_picker.pngの説明 - 日付と時間を選択できる「日時ピッカー」動的フォームを定義します。
ds.dateTimePicker("<name>", "<dateTime_format>", "<default_value>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。dateTime_format(オプション、推奨): 入力フィールドに選択した日時を表示したり、段落の実行時に結果の日時を書式設定するために使用するdateTime形式。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。dateTime_formatが指定されていない場合は、dateTime_formatまたはyyyy-MM-dd HH:mm形式に従って指定する必要があります。
たとえば:

図java_date_time.pngの説明ds.date_time_picker("<name>", format="<dateTime_format>", default_value="<default_value>")前述のコードで:
name: 動的フォームの名前。 動的フォームの上に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。dateTime_format(オプション、推奨): 入力フィールドに選択した日時を表示したり、段落の実行時に結果の日時を書式設定するために使用するdateTime形式。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。dateTime_formatが指定されていない場合は、dateTime_formatまたはyyyy-MM-dd HH:mm形式に従って指定する必要があります。
たとえば:

図python_date_time_picker.pngの説明
動的フォーム・レイアウトのカスタマイズ
columnSpanおよびnextRowパラメータを使用すると、動的フォーム・レイアウトでのデータ入力と読みやすさを向上できます。
- 小さいスクリーン: フォームは4つの列(1行に1つのフォーム)に縮小されます。
- 中画面: 8列グリッド(行ごとに2つのフォーム)。
- 大きいスクリーン: 完全な12列グリッド(行ごとに3つのフォーム)。
前提条件ステップとして、まず、フォームを表示して独自の変数名を定義し、コンテキストをインスタンス化できるコンテキストを「インポート」する必要があります。
import oracle.datastudio.interpreter.common.context.JavaDataStudioContext
JavaDataStudioContext ds = interpreter.getJavaDataStudioContext()from ds_interpreter_client.context.ds_context import PyDataStudioContext
ds = PyDataStudioContext()- 次の例では、半角テキスト・ボックス(6列)をプログラムで作成する方法について説明します:
ds.textbox("<name>", "<defaultValue>", <"label">, <columnSpan> )前述のコードで:
name: 動的フォームの名前。 < label > が設定されていない場合は、動的フォームの上部に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。defaultValue(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。label(optional): 動的フォームの上に表示されるラベル。columnSpan: 1つのフォームが占める列数(12列中)。 デフォルト値は4 (1行に3つのフォーム)です。
たとえば:
ds.textbox(name="<name>", default_value="<default_value>", label="<label>", column_span="<column_span_value>"))前述のコードで:
name: 動的フォームの名前。 < label > が設定されていない場合は、動的フォームの上部に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。label(optional): 動的フォームの上に表示されるラベル。column_span: 1つのフォームが占める列数(12列中)。 デフォルト値は4 (1行に3つのフォーム)です。
たとえば:
- 次の例では、新しい行にフォームをプログラムで作成する方法について説明します:
ds.textbox("<name>", "<defaultValue>", <"label">, <columnSpan>, <nextRow> )前述のコードで:
name: 動的フォームの名前。 < label > が設定されていない場合は、動的フォームの上部に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。defaultValue(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。label(optional): 動的フォームの上に表示されるラベル。columnSpan: 1つのフォームが占める列数(12列中)。 デフォルト値は4 (1行に3つのフォーム)です。nextRow: フォームを新しい行で開始するかどうかを決定するブール・パラメータ。nextRowを使用する場合は、明示的にcolumnSpanを設定する必要があります。
たとえば:
ds.textbox(name="<name>", default_value="<default_value>", label="<label>", column_span="<column_span_value>, next_row="<next_row_value>"))前述のコードで:
name: 動的フォームの名前。 < label > が設定されていない場合は、動的フォームの上部に表示されます。 段落で動的フォームを複数回参照する場合は、同じnameを割り当てると、1回のみ表示されます。default_value(optional): 動的フォームが最初に作成されたときに与えられるデフォルト値。label(optional): 動的フォームの上に表示されるラベル。column_span: 1つのフォームが占める列数(12列中)。 デフォルト値は4 (1行に3つのフォーム)です。next_row: フォームを新しい行で開始するかどうかを決定するブール・パラメータ。
たとえば:





