WinForms アプリケーションで DevExpress XtraReports を使用していますが、他のレポート ツールにも同様に適用できます。
行ごとに「レンダリング」されるため、レポートの行ごとにいくつかのロジックを実行したいと思います。具体的には、バーコードのデータが利用できない場合、バーコードを非表示にしたいと思います。
現在、私は次のことを行っています:
private void xrBarCode2_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
var barcode = (XRBarCode)sender;
if (barcode.Text.Trim() == "")
{
barcode.Visible = false;
lblWarning.Visible = true;
}
else
{
barcode.Visible = true;
lblWarning.Visible = false;
}
}
しかし、それはただの悪臭です。このメソッドで現在のデータ行にアクセスして、オブジェクトの「実際の」プロパティを操作したいのですが、できません。他のレポート ジェネレーターでの典型的なパターンは何ですか? 私は正しいイベントを使用していますか?を試しDetail_BeforePrint
ましたが、追加情報はありませんでした。