JAVAでの定義体作成はできますか?

271 views
Skip to first unread message

長谷川恭介

unread,
Jun 16, 2021, 4:09:50 AM6/16/21
to RapidReportサポート QAフォーラム
画像のように矢印の定義体をプログラム上で取得したデータに基づきサイズ、座標を指定して作成したいです。
定義体をJAVAのプログラムで作成することは可能でしょうか?



Inkedimage_2021_06_16T07_31_48_768Z_LI.jpg

RapidReport

unread,
Jun 16, 2021, 7:51:17 PM6/16/21
to RapidReportサポート QAフォーラム
吉川です。

サンプルを作成してみました。
ぜひ、お試しください。

カスタマイズという仕組みを利用しています。
矢印要素のプロパティ「カスタマイズ」にて、
プロパティ「配置」のx1、およびx2を動的に変更しています。

長谷川恭介

unread,
Jun 17, 2021, 2:12:45 AM6/17/21
to RapidReportサポート QAフォーラム
吉川様
ご回答ありがとうございます。

さらに質問なのですが、こちらだとすでにデザイナで作成された矢印を動的に変更していますが、プログラムから矢印を作成することは可能でしょうか?

2021年6月17日木曜日 8:51:17 UTC+9 RapidReport:

RapidReport

unread,
Jun 17, 2021, 4:37:38 AM6/17/21
to RapidReportサポート QAフォーラム
吉川です。

はい、カスタマイザという仕組みを使うことで、プログラムから動的に要素を追加できます。

こちらのURLが参考にして下さい。

必要であれば、サンプルを作成しますので、連絡を下さい。

長谷川恭介

unread,
Jun 17, 2021, 5:31:36 AM6/17/21
to RapidReportサポート QAフォーラム
吉川様
ありがとうございます。

お手数ですがサンプルもいただいてもよろしいでしょうか?

2021年6月17日木曜日 17:37:38 UTC+9 RapidReport:

RapidReport

unread,
Jun 17, 2021, 8:48:09 PM6/17/21
to RapidReportサポート QAフォーラム
吉川です。

サンプルを作成しました。
参考にしてみて下さい。

長谷川恭介

unread,
Jun 24, 2021, 9:04:26 PM6/24/21
to RapidReportサポート QAフォーラム
吉川様お世話になっております。
続けて質問なのですが、この画像のようにDBから取得した人名を矢印の下に表示させたいです。
この場合は前回頂いたサンプルのと同じやり方でテキストを作成すればよろしいでしょうか?
image_2021_06_25T00_50_15_212Z.png



2021年6月18日金曜日 9:48:09 UTC+9 RapidReport:

RapidReport

unread,
Jun 24, 2021, 9:27:48 PM6/24/21
to RapidReportサポート QAフォーラム
吉川です。

はい、その通りです。
ElementDesignのコンストラクタの引数に、textを指定することでテキスト要素を生成することができます。

堀川陸

unread,
Jun 25, 2021, 3:38:02 AM6/25/21
to RapidReportサポート QAフォーラム
吉川様

お世話になっております。
堀川と申します。
長谷川に代わりまして、私の方からご対応させていただきます。

ElementDesignのコンストラクタの引数にtextを指定することでテキスト要素を生成することができる旨、承知致しました。
その場合、カスタマイザ内でテキストの値を指定する流れになるかと思いますが、テキストの値をカスタマイザの外から動的に指定することは可能でしょうか。
イメージでいうと以下の通りです。

1.処理の結果、String Name = "後期太郎"を得る
2.Nameをカスタマイザに指定(?)する
3.カスタマイザのテキストに値を設定する箇所にNameを代入する

以上、ご回答宜しくお願い致します。
2021年6月25日金曜日 10:27:48 UTC+9 RapidReport:

RapidReport

unread,
Jun 27, 2021, 7:59:55 PM6/27/21
to RapidReportサポート QAフォーラム
吉川です。

はい、テキストの値をカスタマイザへ動的に指定できます。

データ列にテキストを持たせる方法でサンプルを作成してみました。
ぜひ、お試しください。

堀川陸

unread,
Jun 27, 2021, 9:23:16 PM6/27/21
to RapidReportサポート QAフォーラム
ご対応ありがとうございます。

承知致しました。
作成いただいたサンプル例を参考にさせて頂きます。

2021年6月28日月曜日 8:59:55 UTC+9 RapidReport:

堀川陸

unread,
Jul 7, 2021, 4:31:27 AM7/7/21
to RapidReportサポート QAフォーラム
お世話になっております。

こちらの件に関して、追加で質問があります。
ひとつのコンテント内に複数のlineやtextなどのオブジェクトを作成したいです。

以前のサンプルは以下のような仕様になっていたかと思います。
・定義体のグループの明細欄にチェックを入れる
・プログラム上でデータテーブルを生成する
・データテーブルの1データごとに1コンテントをループさせ、値を出力させる

実現したいのは以下のような仕様です。
・定義体の全域に1つのコンテントを設定する
・ プログラム上でデータテーブルを生成する
・ データテーブルの全データを1つのコンテント内で、値を出力させる

以上、宜しくお願い致します。
2021年6月28日月曜日 10:23:16 UTC+9 堀川陸:

RapidReport

unread,
Jul 8, 2021, 12:59:43 AM7/8/21
to RapidReportサポート QAフォーラム
吉川です。

大変申し訳ありませんが、ご要望の仕様を実現することはできません。
1つのコンテントに、2行以上のデータを適用することはできません。
例えば、グローバルスコープの仕組みを利用して表示して頂く必要があります。
ご了承ください。

さて、もしよろしければ、
最終的に作成したい帳票の仕様、および具体的にどのようなデータを利用するのかを
提示して頂くことはできますでしょうか。サンプルを提示致します。

恐らく、アルバイトのシフト表のような帳票を作成したいのではないかと想像しています。
例)7月1日の10時~12時が〇〇くん、 13時~15時までが〇〇さん
  7月2日の10時~15時が〇〇さん
  7月3日は、該当者なし
1行に配置する矢印が5個ぐらいがMAXであれば、
矢印を予め配置し、表示/非表示の切り替えで対応できないか、と思っています。
どうぞ、ご検討下さい。

堀川陸

unread,
Jul 8, 2021, 4:04:09 AM7/8/21
to RapidReportサポート QAフォーラム
お世話になっております。
1つのコンテントに、2行以上のデータを適用することはできない旨、承知致しました。

実現したいものの要件は以下になります。
・スケジュールを矢印で表現し、その下に人名を表示する
・スケジュールが重複することはない
・スケジュール(矢印)は10分単位で長さが変化し、最大長は60分
・一日(行)に出現する最大矢印数は1×6×10(時間)=60本
・一枚の帳票に 出現する最大矢印数は60×31=1860本

以上、宜しくお願い致します。image.png

2021年7月8日木曜日 13:59:43 UTC+9 RapidReport:

RapidReport

unread,
Jul 8, 2021, 9:36:40 PM7/8/21
to RapidReportサポート QAフォーラム
吉川です。

仕様の提示ありがとうございます。
確かに、グローバルスコープや、表示非表示で対応するのは、現実的ではなさそうですね。

サンプルを考えてみます。
少し時間を下さい。7月13日には、何かしらの回答をさせて頂きます。

いくつか質問させてください。
・2ページ以上印刷することはありますか
 例)6月、7月分と同時に印刷。 〇さん、△くんの2ページ。など
・帳票でするデータ列は
 x1(integer)
 x2(integer)
 y1(integer)
 y2(integer)
 name(String)
 このようなイメージでしょうか。
 ※年月日、開始時間、終了時間から、
 帳票上のどの位置に配置するかを、計算済みの値かどうかを知りたいです。
・上記のデータがMAX1860行になるという解釈でよいですか

・帳票デザインの列「日付」「曜日」は、動的に表示する、ということでよいでしょうか
 ※月によって変化しますよね?という意図の質問です。
 ただし、1コンテントで表示するので、31個のグローバルスコープで対応して頂く必要があるかもです。
・帳票デザインの見出し「9時~」、、、「18時~」は、固定で表示で良いでしょうか。


堀川陸

unread,
Jul 9, 2021, 12:45:21 AM7/9/21
to RapidReportサポート QAフォーラム

お世話になっております。
ご質問に回答させていただきます。

・2ページ以上印刷することはありますか
→ございます。  〇さん6月分、 〇さん7月分、 △さん6月分、 △さん7月分.....など


・帳票でするデータ列は
 x1(integer)
 x2(integer)
 y1(integer)
 y2(integer)
 name(String)
 このようなイメージでしょうか。
→矢印の座標と人名の座標・テキストを指定します。したがって、
 x1(integer)矢印用
 x2(integer)矢印用
 y1(integer)矢印用
 y2(integer) 矢印用
 x1(integer)人名用
 x2(integer)人名用
 y1(integer)人名用
 y2(integer)人名用
 name(String)人名用
といったイメージです。
開始位置の座標と1ます分のX/Y軸の幅は算出済みです。
 private static final Integer XSTART = 48;
    private static final Double YSTART = 45.0;
    private static final Double XLENGTH = 14.1;
    private static final Double YLENGTH = 7.185;
これらのデータが最大で1860個出現します。
現状、時間帯と日にちに応じて座標を算出し、矢印・人名を1つ出力することには成功しています。
(先日もお伝えした通り、2つ以上は出力できていない状態です。)


・帳票デザインの列「日付」「曜日」は、動的に表示する、ということでよいでしょうか
→はい。こちらは31個のglobalScopeで実装済みです。


・帳票デザインの見出し「9時~」、、、「18時~」は、固定で表示で良いでしょうか。
→はい。固定です。

以上が回答となります。
お忙しいところ恐縮ですが、宜しくお願い致します。

2021年7月9日金曜日 10:36:40 UTC+9 RapidReport:

RapidReport

unread,
Jul 9, 2021, 3:14:16 AM7/9/21
to RapidReportサポート QAフォーラム
吉川です。

サンプルを作成してみました。
参考にしてみて下さい。

堀川陸

unread,
Jul 9, 2021, 7:45:33 AM7/9/21
to RapidReportサポート QAフォーラム
お世話になっております。

承知致しました。参考にさせていただきます。
ありがとうございました。

2021年7月9日金曜日 16:14:16 UTC+9 RapidReport:
Reply all
Reply to author
Forward
0 new messages