1227330 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

不思議な物ショップ

不思議な物ショップ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Freepage List

Comments

白鷹3@ Re[1]:Echo Show 5 その2 通話ができない(11/29) nackさんへ ほんと、早く対応してほしいも…
nack@ Re:Echo Show 5 その2 通話ができない(11/29) 自分も同じような状況です。昨日は追加で…
Daizo@ Re[1]:3Dプリンタのスライサ自動化(08/24) 白鷹3さん >スライス設定の煩わしさがな…
白鷹3@ Re:3Dプリンタのスライサ自動化(08/24) スライス設定の煩わしさがなくなるのは楽…
Daizo@ 3Dプリンタのスライサ自動化 初めまして、3Dプリンタクラウドプラット…

Keyword Search

▼キーワード検索

Category

Recent Posts

Archives

Free Space

私の工房(類似品を含む)
3Dプリンタ「CUBIS」
切削RP「MDX-20」
フライスマシン旋盤
ミニルーター
プロクソン製です。安物は役に立たず、こちらに買い換えました。
バンドソー
2010.03.02
XML
カテゴリ:コンピュータ
昨日、動的に色を変えるような場合、keyが使えると書きましたが、少し、違っていました。

JasperReportsでは、デザインとデータが別々に存在し、それをまとめて、一つの表を作成する手順になります。
keyを使って変更できるのは、デザインの部分です。
つまり、データを分析して、色を変えるようなことには使えませんでした。

ただし、データを先に分析しておいて、その後、デザインを変更し、それをまとめるという手順であれば、ある程度は可能です。
例えば、データの中に異常値があるので、表とは別に、注意項目として注意書きの欄を表示するようなことはできそうです。

データの中で、異常値の色を変更するのであれば、styled Textが使えます。
これは、テキスト内部に、
"<style forecolor="red">3.5667</style>"
のように記述すると、文字が赤くなります。
フォントのサイズを変えたり、アンダーラインを引くなどであれば、これで、目的は達成できます。
テキストフィールドに
[条件] ? [赤い色での表示] : [通常表示]
とすれば良いのです。
もっと複雑にするなら、Javaでプログラムを作成しておき、例えば
StyleBean.selectColor($F{value})
というような感じで、できます。
StyleBean.selectColorは、作成したクラスで、$F{value}の値を元に、装飾したテキストデータを返します。
class StyleBean{
public static String selectColor(String str){
String data;
if(..省略..){
data = "<style forecolor=\"red\">" + str + "</style>";
}else if(..省略..){
data = "<style forecolor=\"blue\">" + str + "</style>";
}else{
data = str;
}
return data;
}
}


この方法の限界は、表のセルの背景色を変更するようなことはできないことです。
テキストの背景色は変更できますが、セルの背景色は変更できないのです。

これを実現するには、昨日、書いたように、フィールドを重ねて、条件分岐で、表示するフィールドを決めることしか、今のところ、わかりません。
これで、目的は達成できますが、処理時間がかかりすぎているのが問題なのです。


htmlなら、上位エレメントを探して、style属性を変更するということができますが、iReportでは、できるのでしょうか。
原理的に考えても、マニュアルをみても、無理な気がします。
別のアプローチが必要ではないかと思っています。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2010.03.02 20:36:49
コメント(0) | コメントを書く
[コンピュータ] カテゴリの最新記事



© Rakuten Group, Inc.