22-02-20, 10:25 AM
(آخر تعديل لهذه المشاركة : 23-02-20, 05:33 PM {2} بواسطة asemshahen5.)
هذا الكود بعد الدمج :
كود الاستخدام :
هذه الطريقة تستطيع وضع عدد غير محدود من التكست بوكس .
PHP كود :
Public Sub Globale_Crystal_Print_Preview_Report(ByVal Sql_String As String, ByVal Report_Name As String, ByVal Table_Name As String, TextName As ArrayList, TextBoxText As ArrayList)
Cursor.Current = Cursors.WaitCursor
Dim Rpt As New ReportDocument
Dim crtableLogoninfo As New TableLogOnInfo
Dim crConnectionInfo As New ConnectionInfo
Dim CrTables As Tables
Dim MyReportPath As String = Application.StartupPath & "\FolderReport\" & Report_Name & ".Rpt"
Rpt.Load(MyReportPath)'
With crConnectionInfo
.ServerName = Application.StartupPath & "\ABDELAZIZ.Mdb"
.DatabaseName = Application.StartupPath & "\ABDELAZIZ.Mdb"
.UserID = "Admin"
.Password = "XZ987654SW"
End With
CrTables = Rpt.Database.Tables
For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
Next
If Conne_2020.State = ConnectionState.Closed Then Conne_2020.Open()
Dim Adp = New OleDb.OleDbDataAdapter(Sql_String, Conne_2020)
Dim Ds As DataSet = New DataSet()
Adp.Fill(Ds, Table_Name)
Dim Dt = Ds.Tables(0)
If Dt.Rows.Count = 0 Then
'XtraMessageBox.Show("لم يتم العثور على بيانات لعرضها في التّقرير", "طباعة التقرير", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Cursor.Current = Cursors.Default
Exit Sub
Else
Rpt.SetDataSource(Ds)
Dim i As Integer = 0
For Each str0 As String In TextName
Dim Text1 As CrystalDecisions.CrystalReports.Engine.TextObject = Rpt.ReportDefinition.Sections(2).ReportObjects(str0)
Text1.Text = TextBoxText(i).ToString
i += 1
Next
Dim Frm As New FrmCrystalPrinting
Frm.CrystalReportViewer1.ReportSource = Rpt
Frm.CrystalReportViewer1.Zoom(100%)
Frm.CrystalReportViewer1.Refresh()
Frm.ShowDialog()
End If
If Conne_2020.State = ConnectionState.Open Then Conne_2020.Close()
Rpt.Close()
Rpt.Dispose()
End Sub
كود الاستخدام :
PHP كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim TextName As New ArrayList
Dim TextBoxText As New ArrayList
TextName.Clear()
TextBoxText.Clear()
TextName.Add("Text1")
TextName.Add("Text2")
TextBoxText.Add(TextBox1.Text)
TextBoxText.Add(TextBox2.Text)
Globale_Crystal_Print_Preview_Report("SELECT * From AccountsTree", "CrystalReport1", "AccountsTree", TextName, TextBoxText)
End Sub
هذه الطريقة تستطيع وضع عدد غير محدود من التكست بوكس .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
