2009-12-01 3 views

ответ

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 
+0

Мой плохой не указывает VB.Net. – JeffO

0

Не перед моим Dev машины в данный момент, однако то, как это может работать

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 
+0

В группу верхнего/нижнего колонтитула группы не имеют настройки для печати, когда нет никаких записей, так что к югу не будет выполнена. – JeffO