我在 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
了,但没有其他信息。