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