06-02-25, 01:48 AM
قم بتجربة الحل التالي
PHP كود :
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
Private Sub ButReport_Click(sender As Object, e As EventArgs) Handles ButReport.Click
Try
' التحقق من وجود بيانات في DataGridView قبل إنشاء التقرير
If DataGridView1.Rows.Count = 0 Then
ShowErrorMessageBox("عفـواً ... البيانـات التي قمت باختيـارها غير موجـودة.")
Exit Sub
End If
If Combtasnifs.Text = "" Then
ShowErrorMessageBox("الرجــاء ... اختيـار تصنيـف الكتب المعـارة.")
Combtasnifs.Focus()
Exit Sub
End If
' إنشاء كائن التقرير
Dim rpt1 As New CrystalReport2
rpt1.SetDataSource(DT) ' تمرير بيانات DataTable إلى التقرير
' ضبط النص داخل عنصر TextObject
Dim TextName As TextObject = rpt1.Section3.ReportObjects("TextName")
TextName.Text = Form_Main.TextBox1.Text
' تنسيق حقل التاريخ ليظهر بدون الوقت
Dim field As FieldObject
field = CType(rpt1.ReportDefinition.Sections("Section3").ReportObjects("اسم_حقل_التاريخ"), FieldObject)
' ضبط التنسيق ليظهر فقط التاريخ بدون الوقت
Dim format As New FieldFormat()
format.DateTimeFormat = DateTimeFormat.Date
field.ApplyFormat(format)
' عرض التقرير في عارض Crystal Report
Form_Reports.CrystalReportViewer1.ReportSource = rpt1
Form_Reports.CrystalReportViewer1.Zoom(100)
Form_Reports.CrystalReportViewer1.Refresh()
Form_Reports.Show()
Catch ex As Exception
ShowErrorMessageBox("عفــوا ... لا يمكن عرض التقريــر.")
End Try
End Sub
End Class
