Devexpress XTRA -Bericht: Wie zeigt ich eine Etikett in Gruppenfußzeile an, wenn das Detailband keine Daten hat?

StackOverflow https://stackoverflow.com/questions/1828308

  •  11-09-2019
  •  | 
  •  

Frage

Wenn ein Lennel namens: lblWarning. Ich würde es gerne anzeigen (sichtbar = true), wenn das Detailband keine Datensätze hat. Das Etikett befindet sich im Gruppenfuß.

War es hilfreich?

Lösung

Dieses Ereignis ist dem Bericht selbst beigefügt (in meinem Beispiel heißt es Xtrareport1). GetCurrentRow() ist eine Methode auf XtraReportBase Dies gibt die aktuellen Daten aus der primären Berichtsquelle für Berichtsbindungen zurück. Wenn keine Daten vorhanden sind, gibt sie NULL zurück.

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

    lblWarning.Visible = noDataFound;
}

Der gleiche Handler in 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

Andere Tipps

Nicht vor meiner Entwicklermaschine im Moment, aber so etwas kann funktionieren

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top