تقرير DEVEXPRESS XTRA: كيفية عرض تسمية في تذييل المجموعة عند عدم وجود فرقة التفاصيل أي بيانات؟

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

  •  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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top