0

と呼ばれるラベルがある場合:lblWarning。詳細バンドにレコードがない場合に表示したい(Visible = True)。ラベルはグループフッターにあります。

4

2 に答える 2

1

このイベントはレポート自体に添付されます(私の例では、XtraReport1という名前です)。 は、プライマリレポートバインディングソースから現在のデータを返すGetCurrentRow()メソッドです。XtraReportBaseデータが存在しない場合は、nullを返します。

private void XtraReport1_BeforePrint(object sender, PrintEventArgs e)
{
    bool noDataFound = GetCurrentRow() == null;

    lblWarning.Visible = noDataFound;
}

VBの同じハンドラー:

Private Sub XtraReport1_BeforePrint(ByVal sender As System.Object, ByVal e As PrintEventArgs) Handles MyBase.BeforePrint
    Dim noDataFound As Boolean = GetCurrentRow() Is Nothing

    lblWarning.Visible = noDataFound
End Sub
于 2010-02-11T15:30:48.383 に答える
0

現時点では開発マシンの前にはありませんが、このようなものが機能する可能性があります

Dim HadRecords As Boolean = False

Private Sub GroupFooter1_BeforePrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles GroupFooter1.BeforePrint
    If HadRecords = False Then
        lblWarning.visible = True
    Else
        lblWarning.visible = False
        HadRecords = False ' reset the flag '
    End If
End Sub

Private Sub Detail_BeforePrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles Detail.BeforePrint
    HadRecords = True ' set the flag '
End Sub
于 2009-12-03T03:11:13.700 に答える