تقرير DEVEXPRESS XTRA: كيفية عرض تسمية في تذييل المجموعة عند عدم وجود فرقة التفاصيل أي بيانات؟
-
11-09-2019 - |
سؤال
إذا كان لديك lable يسمى: lblwarning. أرغب في عرضه (مرئي = صحيح) عندما لا يكون الفرقة التفاصيل أي سجلات. التسمية في تذييل المجموعة.
المحلول
يتم إرفاق هذا الحدث بالتقرير نفسه (في مثالي، إنه اسمه 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
نصائح أخرى
ليس أمام جهاز 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
لا تنتمي إلى StackOverflow