VB側から直接出力


VB TIPS AND SAMLPE CrystalReportの基本

VB側から直接出力値を書き換えるには

データビュー以外に、VB側からクリレポへ直接動的に出力したいことがあります。
たとえば、カスタムした日付や、副題・タイトル。
データビューの抽出条件なども、主に出力される事が多いと思います。
と言うわけで、今回はVB側から直接出力値を書き換える方法。
いたって簡単で、
クリレポの「非連結フィールド」を適当な場所にドラッグドロップ。
名前を①で変更します。②ではありません。
で、①で変更したオブジェクト名を参照して値を入れます。
非連結フィールド 動的に出力

'プロジェクトに追加したクリスタルレポートオブジェクトを参照
Dim rpt As New CrystalReport1
'デーソースにデータセットを
rpt.SetDataSource(dt)

'[']で囲む必要がある。また、文章内に[']がある場合、['']に置き換えてやる必要があります。
Dim strText As String = "動的に値を'設定"
rpt.DataDefinition.FormulaFields("Title").Text = "'" & strText.Replace("'", "''") & "'"

'ビュワーにレポートをセット
CrystalReportViewer1.ReportSource = rpt


と、「'」「'」で文字列を囲み値を入れるだけです。
注意するのは「'」を出力する際。
「式の一部にならないテキストがあります。」というエラーがでたらこれが原因かも。
式の一部にならないてきすとがあります。