Creative System Village

創造するシステム開発

C1Report帳票にスクリプト処理を設定

| 0 comments

C1Reportでの帳票開発は結構手探り

毎回のことだが結構大変だよねー!vb.netで開発をしていても結構サードパティー製の帳票を使いことがある。
今回は「C1Report」
これはあれだねー「Grapecity社」のやつ、昔のVBの頃だと結構なじみがあるかも文化オリエント社とかいう、確かーINPUT MANみたいな入力便利なコントロールセットか売ってた会社ねー!いつの間にか「Grapecity」とかいう会社になっていた。
C1ReportはC1FlexGridとかと一緒になっている開発ツールで、結構ヘルプが糞っぽくてぐぐっても情報出てこないよー。あったまくるねー!今回は帳票の背景を一行毎に色を変えるとか言うことがしたかったー。試行錯誤で出来たので忘れないうちにブログに残す!

C1Reportで一行毎に色を変える方法

帳票で一番あるパターンはやっぱり「ヘッダー」「詳細」「フッダー」の三つに分かれるパターンだね!
今回は「PageHeader」「Detail」「PageFooter」→フッター使わんかもねー
まずはこんな感じのテスト用の帳票を作る
C1Report001
適当なんだけど
大事な部分はコントロール
1.背景の色を変える為の矩形に名前を「BackDisply」とつけ
2.行数カウント用テキストに名前「Count」
3.奇数偶数行の情報を表示するテキストに名前「Swith」
この3つを用意する

3つを配置したらスクリプトを設定します
[Count] = 0
こいつを「PageHeader」の「OnPrint」へ
C1Report002
これはページの始まりにページカウントを初期化しようという感じ

次に詳細部分の色付けのスクリプト設定
[Count] = [Count].Value + 1
[Swith] = [Count].Value Mod 2
If [Swith] = 1 Then [BackDisply].BackColor = 13882323 Else [BackDisply].BackColor = 16777215

こいつを「Detail」の「OnPrint」へ
C1Report003
まず
[Count] = [Count].Value + 1 はCount用テキストの値をインクリメントしてる感じ
[Swith] = [Count].Value Mod 2 は奇数行は1偶数行は0をセットしている
そしてここが肝心!
If [Swith] = 1 Then 奇数行なら [BackDisply].BackColor = 13882323
BackDisplyの背景を13882323の色→LiteGrayかな??を設定
以外ならBackDisplyの背景を16777215で白を設定ですねー
たったこれだけ!

今回はここまで

コメントを残す

Required fields are marked *.