3

iReport v3.7.6JasperReportsを使用していますが、最初の列がテーブルの残りの部分に表示される質問と回答をセクション化/分類するように機能するテーブルを作成するように要求されています。要求された出力の例:

ここに画像の説明を入力してください

編集:画像を表示できない方のために、「コンテキスト」、「質問」、「回答」の各フィールドを含む3列のテーブルです。質問と回答の各セットは、セットのカテゴリとして機能する単一のコンテキストに属し、コンテキストは、質問と回答の複数のセットのカテゴリとして機能できます。リクエストは次のようになります。

_________________________________
| Context1 | Question1 | Answer1 |
|          |___________|_________|
|          | Question2 | Answer2 |
|          |___________|_________|
|          | Question3 | Answer3 |
|          |___________|_________|
|          | Question4 | Answer4 |
|__________|___________|_________|
| Context2 | Question5 | Answer5 |
|          |___________|_________|
|          | Question6 | Answer6 |
|__________|___________|_________|

繰り返し値を印刷しないようにiReportを設定できることはわかっています。これにより、各行にコンテキストが印刷されないという問題の一部が解決されますが、問題の2番目の部分は、コンテキストフィールド全体の周囲にセルの境界線を配置して、上記の例、つまり、N個の行をカバーする動的に拡張するフィールドのように見えます。レポートの[詳細]バンドでコンテキストの周囲に境界線を配置すると、テーブル内のすべての行の境界線が取得され、[コンテキスト]列に多数の空のセルが表示されます。この種のフォーマットはiReport3.7.6を使用して可能ですか?「コンテキスト」フィールドでグループ化し、どういうわけかグループ全体の周囲に境界線を配置することは可能でしょうか?

コンテキストカテゴリごとの質問の数がわかっているので、データセットでフラグを使用し、コンテキストフィールドを条件付きでスタイル設定することができます(たとえば、グループの最初のレコードには「top」、グループの最後のレコードには「last」に設定されたフラグとフレームの境界線をフラグに従って上または下の境界線を表示するようにスタイル設定します)が、これは問題を処理するための非常に厄介な方法のようです。さらに、質問が削除/追加されるとすぐに、その包帯は壊れます。

別の考えは、各コンテキストを個別に生成するサブレポートを作成し、サブレポート全体の周囲に境界線を配置し、結果をマスターレポートの詳細バンドに結合することでしたが、これも簡単な問題の複雑な解決策のようです。

4

1 に答える 1

4

会社のフィルターが原因で、提供された画像が表示されません。

グループ化されたデータの境界線に関係していますか?はいの場合、グループヘッダーバンド全体をスコープする静的テキストを配置し、上、左、右の境界線のみを指定して、すべてのヘッダーの後ろに送信できます。返送する必要があります(右クリック> [返送])

<staticText>
    <reportElement positionType="Float" mode="Transparent" x="0" y="1" width="814" height="11" forecolor="#000000" backcolor="#F0F0F0"/>
    <box>
        <topPen lineWidth="0.75" lineColor="#CCCCCC"/>
        <leftPen lineWidth="0.75" lineColor="#CCCCCC"/>
        <rightPen lineWidth="0.75" lineColor="#CCCCCC"/>
    </box>
    <text><![CDATA[]]></text>
</staticText>

次に、グループの詳細バンドに、詳細バンド全体をスコープする別の空の透明な静的テキストを配置します。今回は、左右の境界線のみを指定します。

グループフッターに、グループフッターバンド全体をスコープし、上部の境界線のみを指定する、別の空の透明な静的テキストを配置します

于 2012-12-12T02:55:36.450 に答える