一.概要
通常、ウィジェットを使用する際、ウィジェットの値を参照しなくてはいられます。ウィジェットの値を参照する場合、ウィジェットの実際値と表示値を使用します。本マニュアルでは実際値と表示値に分けられるウィジェットを判断する方法、及びウィジェット値の使用方法を説明します。
二.ウィジェット(値)の比較
ウィジェット | 実際値 | 表示値 | 実際値と表示値が一致しているか |
テキストウィジェット | -- | -- | 〇 |
テキストエリアウィジェット | -- | -- | 〇 |
数字ウィジェット | -- | -- | 〇 |
パスワードウィジェット | -- | -- | 〇 |
ボタンウィジェット | -- | -- | 〇 |
チェックボックスウィジェット | -- | -- | 〇 |
ラジオボタングループウィジェット | 〇 | 〇 | × |
チェックボックスグループウィジェット | 〇 | 〇 | × |
プルダウンボックスウィジェット | 〇 | 〇 | × |
プルダウンチェックボックスウィジェット | 〇 | 〇 | × |
日付ウィジェット | -- | -- | 〇 |
ファイルウィジェット | -- | -- | 〇 |
リストウィジェット | 〇 | 〇 | × |
Webページボックス | -- | -- | 〇 |
プルダウンツリー | 〇 | 〇 | × |
ビューツリー | 〇 | 〇 | × |
注:テキストボックスウィジェットの場合、実際値と表示値に違いはありませんが、データ辞書を設定することで実際値と表示値を定義できるプルダウンボックスの場合は異なります。
三.例示一
まず、ウィジェットの表示値と実際値の使用方法、および使用方法の違いを示しましょう。
手順:パラメーターパネルでプルダウンボックスウィジェット(t1)、ラジオボタングループウィジェット(t2)、チェックボックスウィジェット(t3)、プルダウンチェックボックスウィジェット(t4)、テキストウィジェット(t5)、および事前定義ボタン(クエリー)を作成します。
注:上記のウィジェットはすべて独立しており、連携はありません。
1.プルダウンボックスウィジェット
1.t1ボタンを選択して、辞書を設定します:
2.次のように、事前定義ボタンでクリックイベントを設定します。
JavaScriptコード:
var Widget = this.options.form.getWidgetByName("t1");
var value_1 =Widget.getValue(); //実際値
var value_2 =Widget.getText(); //表示値
alert('実際値:'+value_1+'\n表示値:'+value_2);
3.プレビュー:(実際値と表示値は異なります)
上記と同様に、ラジオボタングループウィジェット(t2)、チェックボックスウィジェット(t3)、プルダウンチェックボックスウィジェット(t4)を設定し、同じ結果を取得します(実際値と表示値は異なります)
2.テキストウィジェット(t5)
テキストボックスウィジェットは上記と異なります(実際値と表示値は同じです)
プルダウンボックスウィジェット、ラジオボタングループウィジェット、チェックボックスウィジェット、プルダウンチェックボックスウィジェット、リストウィジェット、プルダウンツリー、ビューツリーに、データ辞書を設定することで実際値と表示値を定義するウィジェットを除き、その他のウィジェットの実際値と表示値が同じです。
詳細については、上記のウィジェット対比表を参照してください。
四.例示ニ
セルでウィジェットの表示値または実際値を取得できます。
手順:帳票のセルB3、C3、D3、E3、F3からパラメーターウィジェットt1、t2、t3、t4、t5の値をそれぞれ取得します!
1.設定方法:
2.プレビュー:
結論:パラメータインターフェイスのウィジェットは、バックグラウンドに渡されるか、又はセルから直接取得されるものは、ウィジェットの[実際値]です。
五.示例三:実際値と表示値は多対1である場合
上記に示したように、通常、実際値と表示値の間には1対1の関係があります。ただし、異なる実際値が同一表示値に対応する場合があります。たとえば、会社名は同じでもIDは一意であり、IDと名前は多対1の関係を形成します。
FineReport複数の実際値が同一の表示値に対応する場合の統合ウィジェットの処理ロジック:
1.パラメータクエリであれ、新規入力であれ、ウィジェットで直接値を選択する場合、実際値と表示値が多対1であること(つまり、選択した表示値からそれに該当する実際値を取得される)に対応できます。
2.パラメータを渡すことでウィジェット値を割り当てる場合、渡されたパラメータが実際値である場合は、ウィジェットから直接値を選択するというロジックと一致します。渡された値が表示値である場合、ウィジェットは最初の表示値をデフォルトで表示されます。
以下に例をあげて説明します。
1.パラメータ検索
ビルトインデータセットを作成する(下図)。
次の図に示すように、パラメータ設定インターフェイスにプルダウンボックス、プルダウンチェックボックス、ラジオボタングループ、チェックボタングループ、ビューツリー、クエリボタンを追加します。
ウィジェットを追加するときは、ウィジェットの名前をa、b、c、d、eに順番に変更することに注意を払ってください。
プルダウンボックスウィジェットaを例として説明します:
残りのウィジェットについて説明を省略します。名前が変更されたウィジェットは、次の図のようになります。
注:formSubmit0はクエリボタンウィジェットです
次に、各ウィジェットにデータ辞書設定を追加します。
プルボックスウィジェットaを例として説明してみましょう。次の図に示されるように、データ辞書のタイプはデータクエリと設定されます。実際値は学生ID、表示値は名前です。
プルダウンチェックボックス、ラジオボタングループ、チェックボタングループの設定は上図のプルダウンボックスと同様です。
ビューツリーは少し異なります:
1.まず、複数選択のチェックを入れます。
2.データ辞書を設定します:構築方法で高速階層別構造を、データセットで新たに作成されたビルトインデータセットを、実際値で番号を、表示値で名前を選択します。下図の通りです:
パラメータインターフェイスの設定が完了したら、次の図に示されるように帳票ボディを設定します。
セルA2〜E2に式をそれぞれ挿入し、対応する[$ウィジェット名]を入力します。
プレビューすると次の図に示されます。
実際値と表示値が多対一の場合でも、同じ表示値を選択することで、異なる実際値を正確に取得できます。
さらに、値を手動で入力できるウィジェット(プルダウンチェックボックス)には、複数の同じ表示値を手動で入力されると、パラメーターを渡すのと同じように、最初の表示値のみを選択します(下図を参照):
2.新規入力プレビュー
プルダウンボックス、プルダウンチェックボックス、ラジオボタン、チェックボックスグループ、ビューツリーの編集前と編集後とも、表示値を表示します。
注:入力プレビューにおいて、編集中に表示値が表示され、編集終了後に実際値が表示されます。新規入力と同様な効果を実現できるように、セルの形式設定を使用しなければなりません。
3.ウィジェット値を割り当てるためのパラメーターの受け渡し
前述の通り、パラメータを渡すことでウィジェット値を割り当てる場合、渡されたパラメータが実際値である場合は、ウィジェットから直接値を選択するというロジックと一致します。渡された値が表示値である場合、ウィジェットは最初の表示値をデフォルトで表示されます。