用紙を設定する
クリスタルレポート上で設定
なんと、プリンタの設定で行うしかないようだ。
「右クリック」 - 「デザイナ」 - 「プリンタ 」で設定する。
プログラムから設定する
方向
横にする場合
HiraCryRepo1 cr = new HiraCryRepo1();
cr.PrinterOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape
縦にする場合
cr.PrinterOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Portrait
サイズ
A4にする場合、
cr.PrinterOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4
アプリから印刷する
HiraCryRepo1 cr = new HiraCryRepo1();
cr.PrintToPrinter(1, false, 0, 0);
詳細に挿入したとき、ページヘッダに勝手に出てきてうざったい
詳細のところに記述すれば、勝手にページヘッダーにテキストでカラム名が書かれる。
よけいなお世話だ、と感じるときは、「右クリック」-「デザイナ」-「デフォルト設定」-「レイアウト」にある、
「詳細フィールドのタイトルを挿入」のチェックをはずす
デザイナ上のオブジェクトをプログラムから変更する
クリスタルレポート上に「Text1」という名前のテキストオブジェクトがあり、この内容を「うひひ」にする場合。
HiraCryRepo1 cr = new HiraCryRepo1();
((CrystalDecisions.CrystalReports.Engine.TextObject)cr.ReportDefinition.ReportObjects["Text1"]).Text = "うひひ";
みたいな感じ。
テキストオブジェクトなので、(CrystalDecisions.CrystalReports.Engine.TextObject) でキャストしてやらないといけない。
ちなみに、Text以外のプロパティもいろいろある。
Border, Color, Fontなど、詳しくは
ヘルプを見よう。
ReportObjectはTextObjectのほかには、BlobFieldObject、ChartObject、CrossTabObject、DrawingObject、FieldObject、GraphicObject、MapObject、OlapGridObject、SubreportObject というような具合だ。
VS2003.NETでは使えないのもある。
グループがページをまたがるとき分断されないようにしたい
グループを作成するとき、または、「グループを右クリック」 - 「グループの変更」 - 「オプション」で出てくる
の画面の「グループごとにまとめて表示」で設定する。
この日本語はなんか意味がわからないのだが、英語版では、「Keep Group Together」だ。
要はページをまたがるときでも、グループの固まりはキープしてくれよ、と。
「グループごとにまとめて表示」を「チェック」しなかった場合
こんな感じで6番目のグループはフッタだけが次のページに来てしまっている。
「グループごとにまとめて表示」を「チェック」した場合
こんな感じで6番目の項目は全体が次のページに移動した。
グループごとにページを分けたい
「グループフッター」の「セクションの書式」で、「出力後に改ページ」をチェックする。
罫線をセクションのきっちり下に置きたい、きっちり下まで伸ばしたい
「線の書式」の「出力時にセクションの下部へ移動」または「出力時にセクションの下部まで拡張」をチェックする。
プロパティの「ExtendToBottomOfSection」を「True」にしても同じ。
センタリングをしたい。均等割付をしたい。
書式エディタでも出来るのもあるのだが、項目自体が出てこないものもある。
そんなときは、プロパティの「動作」のところに
「HorAlignment」という項目があるので、これを設定すればよい。
ここで、例えば、「crHorCenterAlign」を選ぶとセンタリングされる。
均等割付であるが、「crJustified」なんていう思わせぶりな項目があるのだが、どうもうまく反映できない。
どなたか、どなたかやり方をご存じの方は、ぜひ、掲示板にでも書き込んで頂きたい。
[home]
[クリスタルレポートトップ]