一.概要
1.バージョン
帳票サーババージョン |
11.0 |
2.応用シーン
親子セルはセルの展開に関連する概念であり、セルの展開は特定のセルに対するものです。帳票本体の中で複数のセルがバインドされている場合、これらのセルが展開する際に、なんらかの関連があるのでしょうか。また、その展開方向は相互に影響を与えるのでしょうか。
「地域」と「販売員」という2つのフィールドを例にとし、この2つフィールドの間には、それぞれの「地域」の下に複数の異なる「販売員」がいるという階層関係があります。この2つのフィールドは、セルを展開する際にそれらの間の階層関係を示すことができ、つまり、この2つフィールドのデータをグループ別して表示することができることを期待しています。FineReportデザイナでは、この効果を達成するために親子セルの設定を使用します。
次の図の中で、「地域」フィールドは親セルで、「販売員」フィールドは子セルです。設定方法については、次の例で詳しく説明します。
3.機能紹介
FineReportデザイナが帳票をデザインする際には、セルを選択すると、セルの親セルに「青い矢印」が表示されます。次の図に示すように:
FineReportデザイナは、2種類の親子セル設定をサポートしています。
・左親セル: セル間に縦方向の展開関係がある場合には、左親セルを設定します。
・上親セル: セル間に横方向の展開関係がある場合には、上親セルを設定します。
二.例
デザイナで子セルの左親セルまたは上親セルを設定する場合、プルダウンボックスには[無]、[既定]、[カスタマイズ]の3つの設定項目があります。
次に、セルを縦方向に展開した際に左親セルを設定した場合の例を示し、親セルを設定した際の3つの設定項目それぞれの応用シーンと効果について詳しく説明します。
1.無
[無]とは、セルの親セルを設定しないことを意味します。このセルが展開される際に、セル間のグループ別関係を考慮しません。
セルB2を選択し、右側の属性パネルで[セル属性]-[展開]を選択し、[展開方向]は既定設定の[縦方向展開]を採用し、左親セルを[無]に設定します。
帳票の効果が次の図に示すように:
2.既定
セルの左側または上方に隣接するセルが展開属性を持っている場合、セルは既定で、左側に隣接して縦方向に展開するセルをその左親セルとし、上方に隣接して横方向に展開するセルをその上親セルとします。
[既定]とは、データ列をセルにドロップする際に、そのセルが既定で、隣接する上方にある横方向に展開するセルまたは左側にある縦方向に展開するセルを、それぞれ上親セルまたは左親セルと見なすことを意味します。
注意:隣接する同じ行または同じ列のセルである必要があります。隣接していない場合は、カスタム設定が必要です。
注意:そのセルの左側または上方に隣接するセルが展開属性を持たない場合、順番に左または上の方向に展開属性を持っているセルを探して親セルを決定します。
セルB2を選択し、右側の属性パネルで[セル属性]-[展開]を選択し、[展開方向]は既定設定の[縦方向展開]を採用し、左親セルを[既定]に設定します。セルB2の左側のセルであるセルA2が縦方向に展開するため、セルB2の既定の左親セルはセルA2となります。
帳票の効果が次の図に示すように:
3.カスタマイズ
セル間に展開関係が存在するが、それらが隣接しておらず[既定]設定を利用できない場合、[カスタマイズ]を通じてそれらの間の親子セル関係を設定します。
セルA2とセルB3は隣接していませんが、それらの間には依然として縦方向に展開する階層関係が存在します。セルB3を選択し、右側の属性パネルで[セル属性]-[展開]を選択し、[展開方向]は既定設定の[縦方向展開]を採用し、左親セルを[カスタマイズ]設定でセルA2に設定します。
帳票の効果が次の図に示すように:
三.親元セル
ここでは、「親元セル」という概念を追加します。後で他のドキュメントに表示される可能性があります。
「親元セル」というものは、厳密に言えば「左親元セル」と「上親元セル」に分けられます。前者は縦方向展開に関する概念であり、後者は横方向展開に関する概念です。
ここでの「元」という言葉は、位置上の「元」を指すのではなく、つまり一番左または一番上のセルが「親元セル」ではなく、親子セル関係の一番左または一番上を指します。
例えば、縦方向に展開する明細表があります。その中で、セルA2の左親セルはセルB2であり、セルC2の左親セルはセルA2です。この場合、セルB2は親元セルであり、しかも左親元セルとなります。
テーブルプレビューの効果が次の図に示すように:
もしあるセルが親元セルである場合、それは必ず以下の特徴を満たします:
・そのセルの展開に伴って展開する子セルが存在します。つまり、そのセルを親セルとするセルがあるということです。
・親元セル自体には親セルがないため、そのセルの展開は他のセルの影響を受けません。