- - PR -
ActiveReportsの罫線pagefooterまで伸ばしたいです。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2009-03-09 14:30
一つレコードの高さが固定ではない。しかもレコードの間罫線ないはず、でもgroupの両側縦罫線がほしい。今まで作ったの結果は、groupの両側縦罫線ができた、でもデータない部分両側罫線がないです、pagefooterまで伸ばしたいですが、いい方法ありますか。
もしなければ、毎ページの最後のgroup下には、横罫線表示したいです、いい方法ありますか。 | ||||
|
投稿日時: 2009-03-09 17:21
すみません。
おっしゃっている意味が良く分からないのですが。。。 例えば1ページに50行表示されるデータがあったとし、それが2ページ3ページ…となった場合、最後のページが50行を満たさない時に、左右、もしくは間のLineが途切れてしまう。と言う解釈で宜しいでしょうか? | ||||
|
投稿日時: 2009-03-09 17:48
>最後のページが50行を満たさない時に、左右、もしくは間のLineが途切れてしまう。と言う解釈で宜しいでしょうか?
もちろんこれは一つ問題のです。実は複数ページあれば、すべてのページの末には隙間あります。原因はページ末行とpagefooter間の空間が次のレコードを収めないです、ですから改ページになった、この空間データないから、両側罫線はないです。 grapecityへ聞いたら、以下の解決方法あります、でもうちにはCSファイル使用禁止です。scriptのかきかたがわからないです。 ◆サンプルコード (C#)----------------------------------(PageEndイベントで描画する方法) private void SampleReport1_PageEnd(object sender, EventArgs e) { // 描画形式の設定 this.CurrentPage.BackColor=Color.Transparent; this.CurrentPage.ForeColor = Color.Black; this.CurrentPage.PenWidth = 1; // 描画 this.CurrentPage.DrawLine(1.0f, 1.0f, 1.0f, 10.6f); } ------------------------------(レポートが完成してから描画する方法) // レポート生成・表示 SampleReport1 rpt = new SampleReport1();rpt.Run(); // 線を描画 for (int i = 0; i <= (rpt.Document.Pages.Count - 1); i++) { // 描画形式の設定 rpt.Document.Pages[i].BackColor = Color.Transparent; rpt.Document.Pages[i].ForeColor = Color.Black; rpt.Document.Pages[i].PenWidth = 1; // 描画 rpt.Document.Pages[i].DrawLine(1.0f, 1.0f, 1.0f, 10.6f); } this.viewer1.Document = rpt.Document; | ||||
|
投稿日時: 2009-03-09 18:26
私は 「固定行の単票形式の帳票を印刷したい」 と読み取りました。 いくつか方法があります。 FetchData イベントのイベント引数の EOF を false にして空行を出力する方法なんかが一般的です。
線だけ描画したいのであれば、Line コントロールの AnchorBottom プロパティを true にする方法があります。
What? 現時点で .cs ファイルを使っていますし、Script は関係ないでしょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2009-03-09 18:59
Overlay とかは?
http://www.grapecity.com/japan/support/search/faqcontent.asp?id=10913 | ||||
|
投稿日時: 2009-03-09 19:07
できました、scriptのPageEndイベントの方に強制描画。
public void ActiveReport_PageEnd() { rpt.CurrentPage.ForeColor=System.Drawing.Color.Blue; rpt.CurrentPage.PenWidth = 1; // 描画左罫線 rpt.CurrentPage.DrawLine(0.2f, 3f, 0.2f, 10.35f); // 描画右罫線 rpt.CurrentPage.DrawLine(7.95f, 3f, 7.95f, 10.35f); } AnchorBottom プロパティを true の方法はいけないで、区域制限あります。隙間の方描けないです。 | ||||
|
投稿日時: 2009-03-09 19:10
皆さんおかげで解決しました、ありがどう。
|
1