DevExpress Rapport Xtra: Comment afficher une étiquette en bas de page de groupe lorsque la bande de détail ne dispose pas de données?

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

  •  11-09-2019
  •  | 
  •  

Question

Si ont une étiquette appelée: Avertissement LBL. Je voudrais afficher (visible = True) lorsque la bande de détail n'a pas de dossiers. L'étiquette est dans le pied de page du groupe.

Était-ce utile?

La solution

Cet événement est joint au rapport lui-même (dans mon exemple, il est nommé XtraReport1). GetCurrentRow() est une méthode de XtraReportBase qui renvoie les données actuelles à partir de la source de liaison de rapport primaire. Si les données n'existe pas, il retourne null.

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

    lblWarning.Visible = noDataFound;
}

Le même gestionnaire dans 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

Autres conseils

Pas devant ma machine dev au moment cependant quelque chose comme cela peut fonctionner

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top