一.概要
1.バージョン
帳票サーババージョン | 機能変動 |
11.0 | - |
2.問題概要
パラメータを使用して帳票のデータクエリを実行する際に、ウィジェットのパラメータ値が空白の場合(ウィジェットにパラメータ値が入力されていない場合)、クエリをクリックしても帳票のデータは表示されません。次の図に示すように:

実現したい効果は、ウィジェットのパラメータ値が空白の場合、クエリをクリックすると、帳票内のすべてのデータが表示されることです。つまり、フィルタ条件がない場合、帳票のすべての内容が表示されます。これは、値を選択せずにフィルタリングを行わないことと同じです。
次の図に示すように:
3.実現の考え方
テンプレート変数とデータセット変数を使用して帳票クエリを実現し、同時にフィルタ条件とデータセットの定義方法を変更することで、パラメータが空白の場合、すべてを選択することを実現します。
二.例1:テンプレート変数による実現方法
1.データセットの新規作成
新しいデータセットds1 を作成し、SELECT * FROM S注文というデータベースのクエリ文を入力し、注文テーブルのすべてのデータをクエリします。次の図に示すように:
2.テンプレート変数の定義
1)テンプレート変数「荷主地域 」を定義し、その[既定値]を「関西」に設定します。次の図に示すように:
2)変数パネルを編集し、[すべて追加]をクリックし、[プルダウンボックス]の[データ辞書]を注文テーブルのデータ列「荷主地域」に設定します。次の図に示すように:
3.帳票スタイルのデザイン
以下の表の説明に従い、帳票のスタイルを設定します。次の表に示すように:
セル | 操作 |
A1~I1 | セルにヘッダフィールドを順番に書き込む:注文id、顧客id、注文日、発送日、運輸業者、荷主名、荷主住所、荷主市町村、荷主地域。セルA1からセルI1までを選択し、事前定義スタイル Headを設定する |
A2~I2 | セルにデータセットのデータ列フィールドを順番にドラッグする:注文id、顧客id、注文日、発送日、運輸業者、荷主名、荷主住所、荷主市町村、荷主地域。セルA2からセルI2までを選択し、フォントを[中央揃え]にする。セルC2からセルD2までを選択し、[日付書式]をyyyy-MM-ddに設定する |
A1~I2 | セルA1からセルI2までを選択し、事前定義スタイルの既定のスカイブルーの内枠と外枠をテーブル全体に追加する |

4.フィルタ条件の設定
セルA2にデータフィルタ条件を追加します。セルA2をダブルクリックし、ポップアップのデータ列のダイアログで、[フィルタ]を選択し、[一般条件]を追加し、データ列「荷主地域」を、以下の数式と等しくします:if(len($荷主地域)==0,nofilter,$荷主地域)。[追加]をクリックし、[確定]を選択します。つまり、フィルタ条件を追加することにより、パラメータが空白の場合、全選択の効果を達成します。次の図に示すように:
注意:nofilterはフィルタリングしないことを示し、if(len($荷主地域)==0,nofilter,$荷主地域)はパラメータ「荷主地域」が空白の場合はデータをフィルタリングせず、空白でない場合はパラメータ値でフィルタリングします。
三.例2:データセット変数による実現方法
1.データセットの新規作成
データセット変数を定義する際に、パラメータが空白ですべてを選択する効果を得るための条件を設定し、新しいデータセットds1を作成し、次のデータベースのクエリ文を入力します:
select * from S注文
where 1=1
${if(len(荷主地域) == 0,"","and 荷主地域 = '" + 荷主地域 + "'")}
この時、データセット変数は「荷主地域」であり、パラメータの既定値は「関西」に設定します。次の図に示すように:
数式の文の注釈は次のようになります:
・where 1=1 条件が常にtrueであることを示します。パラメータ条件がない場合、 where の後に有効なものがないとエラーが発生しないようにします。
・len(荷主地域)==0 パラメータ「area」が空白であることを示します。
・"and 荷主地域='"+荷主地域+"'" 中央の「area」はパラメータ値を取得することを示し、「+」は文字列の連結記号です。
・${if(len(area) == 0,"","and 荷主地域 = '" +荷主地域 + "'")} :
パラメータ「area」が空白の場合、クエリ文はSELECT * FROM S注文に相当します。
パラメータ「area」が空白でない場合、クエリ文はSELECT * FROM S注文 WHERE 1=1 and 荷主地域='${荷主地域}'に相当します。
2.帳票スタイルのデザイン
以下の表の説明に従い、帳票のスタイルを設定します。次の表に示すように:
セル | 操作 |
A1~I1 | セルにヘッダフィールドを順番に書き込む:注文id、顧客id、注文日、発送日、運輸業者、荷主名、荷主住所、荷主市町村、荷主地域。セルA1からセルI1までを選択し、事前定義スタイル Headを設定する |
A2~I2 | セルにデータセットのデータ列フィールドを順番にドラッグする:注文id、顧客id、注文日、発送日、運輸業者、荷主名、荷主住所、荷主市町村、荷主地域。セルA2からセルI2までを選択し、フォントを[中央揃え]にする。セルC2からセルD2までを選択し、[日付書式]をyyyy-MM-ddに設定する |
A1~I2 | セルA1からセルI2までを選択し、事前定義スタイルの既定のスカイブルーの内枠と外枠をテーブル全体に追加する |
3.パラメータウィジェットの追加
1)変数パネルを編集し、[すべて追加]をクリックし、プルダウンボックスの[データ辞書]をs注文テーブルのデータ列「荷主地域」に設定します。次の図に示すように:
2)ラベルウィジェットの[表示値]を「荷主地域」に変更します。次の図に示すように:
四.効果プレビュー
1.PC端末
帳票を保存し、[改ページプレビュー]をクリックし、効果は以下に示すように:
2.モバイル端末
APP端末は、HTML5端末と同じ効果を持ちます。次の図に示すように:
五.注意事項
問題概要
上記に従って設定した後、パラメータが空白の場合、クエリをクリックするとすべてのデータが表示されます。プレビュー時にすべてのデータを表示するにはどうすればよいでしょうか?
ソリューション
上記の設定が完了した後、[コンポーネント設定]の[クエリをクリックする前に内容を表示しない]のチェックを外すだけです。
六.テンプレートのダウンロード
1)例1:
テンプレートをダウンロードするにはこちらをクリックしてください:
2)例2:
テンプレートをダウンロードするにはこちらをクリックしてください: