تقييم الموضوع :
  • 5 أصوات - بمعدل 3.4
  • 1
  • 2
  • 3
  • 4
  • 5
[مثال] Master - Detail Example
#8
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
و الصلاة و السلام على أشرف خلق الله سيدنا محمد و على آله و صحبه أجمعين


في البداية, كل عام و أنتم بخير بمناسبة السنة الهجرية الجديدة ... عسى الله أن يجعلنا و إياكم من الصالحين.

نكمل اليوم الدرس الثالث و الأخير من هذا المشروع, نبدأ بالدرس على بركة الله.
بعد أن قمنا بالانتهاء من عمل قاعدة البيانات و عمل الواجهات, نقوم بعمل تقرير بسيط و هو لتعلم كيفية التعامل مع تقارير (XtraReport) من خلال الفيجوال بيسك. لذا نقوم بما هو موضح بالصورة أدناه:
[صورة مرفقة: ca9c9b8b0ac0653.jpg]

لتظهر لنا الواجهة التالية:
[صورة مرفقة: 425cd6ea014d609.jpg]

شرح الصورة:
1- نقوم بفتح شجرة (Installed) و من ثم (Common Items).
2- نختار (DevExpress).
3- نضغط على (DXperience v12.2 Report Class).
4- نكتب إسم التقرير (MasterDetailRep.vb).
5- نضغط على (Add).
بعدها سيظهر لنا الموضح أدناه:
[صورة مرفقة: d760812cc717f0f.jpg]

بعدها نقوم بعدة تعديلات و إضافة بعد الأداوت من الـ (Toolbox) إلى التقرير و هي:
1- نقوم بإضافة (xrLabel) عدد (3).
2- نقوم بإضافة (xrLine) عدد (5).
3- نقوم بإضافة (xrPageInfo) عدد (2).
4- نقوم بإضافة (xrTable) عدد (2).
5- نقوم بإضافة (xrTableCell) عدد (10).
6- نقوم بإضافة (xrTableRow) عدد (2).
نقوم بتغيير بعض الخصائص الخاصة بالواجهة (Form) و الادوات الموجودة عليها لنصل إلى التالي:
[صورة مرفقة: 1f4cd05c74aec92.jpg]

بعد أن قمنا بإضافة التقرير ... سنقوم الأن بكتابة الكود التالي في الواجهة (Form) المسماة بـ (RepViewerFrm) و الكود هو:

كود :
Imports System
Imports System.Windows.Forms
Imports DevExpress.LookAndFeel
Imports DevExpress.XtraReports.UI
Imports DevExpress.XtraPrinting
Imports DevExpress.XtraPrinting.Preview

Public Class RepViewerFrm

    Private Sub RepViewerFrm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim rprt As XtraReport = masterdetailreport1()
        Dim report As New MasterDetailRep
        report.Pages.AddRange(rprt.Pages)
        PrintControl1.PrintingSystem = report.PrintingSystem
    End Sub
End Class


و من ثم نقوم بإضافة الإجراءات التالية إلى الموديل (Module) المسمى بـ (ConProAndFun) و كود الإجراءات هو:

كود :
Sub masterdetailreport()
        ' ======================================================================
        Dim DA1 As New OleDbDataAdapter("SELECT ID, CategoryName, CategoryNotes" &
                                                " FROM Category_Table", Cn)
        '==========================================================
        Dim DA2 As New OleDbDataAdapter("SELECT ID, ProductCategory, ProductName, ProductUnit, ProductQuantity, ProductPrice, ProductNotes" &
                                        " FROM Product_Table", Cn)
        '==========================================================
        Dim fDS As New DataSet
        fDS.Clear()
        '==========================================================
        DA1.Fill(fDS, "HeaderTbl")
        DA2.Fill(fDS, "DetailTbl")
        '==========================================================
        Dim RelShp As New DataRelation("HeadDetailID", fDS.Tables("HeaderTbl").Columns("ID"), fDS.Tables("DetailTbl").Columns("ProductCategory"), True)
        fDS.Relations.Add(RelShp)
        '==========================================================
        Dim report As New MasterDetailRep
        report.DataSource = fDS
        report.DataAdapter = DA1
        '==========================================================
        ' Create the Group Header of the Report
        Dim ghead As New GroupHeaderBand
        report.Bands.Add(ghead)
        Dim gfield As New GroupField("ID")
        ghead.GroupFields.Add(gfield)
        ' Assign the Group Header to the Data
        report.XrLabel8.DataBindings.Add("Text", Nothing, "CategoryName")
        '==========================================================
        report.DetailReport.DataSource = fDS
        report.DetailReport.DataMember = "HeadDetailID"
        report.DetailReport.DataAdapter = DA2
        '==========================================================
        report.XrTableCell22.DataBindings.Add("Text", Nothing, "HeadDetailID.ProductName")
        report.XrTableCell23.DataBindings.Add("Text", Nothing, "HeadDetailID.ProductUnit")
        report.XrTableCell24.DataBindings.Add("Text", Nothing, "HeadDetailID.ProductQuantity")
        report.XrTableCell25.DataBindings.Add("Text", Nothing, "HeadDetailID.ProductPrice")
        report.XrTableCell26.DataBindings.Add("Text", Nothing, "HeadDetailID.ProductNotes")
        '==========================================================
        report.ShowPreviewDialog()
        DA1.Dispose()
        DA2.Dispose()
        fDS.Dispose()
        Cn.Close()
    End Sub

    Public Function masterdetailreport1() As XtraReport
        ' ======================================================================
        Dim DA1 As New OleDbDataAdapter("SELECT ID, CategoryName, CategoryNotes" &
                                                " FROM Category_Table", Cn)
        '==========================================================
        Dim DA2 As New OleDbDataAdapter("SELECT ID, ProductCategory, ProductName, ProductUnit, ProductQuantity, ProductPrice, ProductNotes" &
                                        " FROM Product_Table", Cn)
        '==========================================================
        Dim fDS As New DataSet
        fDS.Clear()
        '==========================================================
        DA1.Fill(fDS, "HeaderTbl")
        DA2.Fill(fDS, "DetailTbl")
        '==========================================================
        Dim RelShp As New DataRelation("HeadDetailID", fDS.Tables("HeaderTbl").Columns("ID"), fDS.Tables("DetailTbl").Columns("ProductCategory"), True)
        fDS.Relations.Add(RelShp)
        '==========================================================
        Dim report As New MasterDetailRep
        report.DataSource = fDS
        report.DataAdapter = DA1
        '==========================================================
        ' Create the Group Header of the Report
        Dim ghead As New GroupHeaderBand
        report.Bands.Add(ghead)
        Dim gfield As New GroupField("ID")
        ghead.GroupFields.Add(gfield)
        ' Assign the Group Header to the Data
        report.XrLabel8.DataBindings.Add("Text", Nothing, "CategoryName")
        '==========================================================
        report.DetailReport.DataSource = fDS
        report.DetailReport.DataMember = "HeadDetailID"
        report.DetailReport.DataAdapter = DA2
        '==========================================================
        report.XrTableCell22.DataBindings.Add("Text", Nothing, "HeadDetailID.ProductName")
        report.XrTableCell23.DataBindings.Add("Text", Nothing, "HeadDetailID.ProductUnit")
        report.XrTableCell24.DataBindings.Add("Text", Nothing, "HeadDetailID.ProductQuantity")
        report.XrTableCell25.DataBindings.Add("Text", Nothing, "HeadDetailID.ProductPrice")
        report.XrTableCell26.DataBindings.Add("Text", Nothing, "HeadDetailID.ProductNotes")
        '==========================================================
        report.CreateDocument()
        DA1.Dispose()
        DA2.Dispose()
        fDS.Dispose()
        Cn.Close()
        Return report
    End Function

إلى هنا ننتهي من هذه المقالة بحمد الله و شكره و الصلاة و السلام على النبي سيدنا محمد و على آله و صحبه و سلم.
لا أسألكم غير الدعاء لي و لأهلي بالخير ....
أرجوا أن يكون هذا العمل خالصاً لوجه الله تعالى .. و أرجوا أن تستفيدوا منه ....


تحياتي
الرد }}}


الردود في هذا الموضوع
Master - Detail Example - بواسطة hoob computer - 27-10-13, 05:25 PM
RE: Master - Detail Example - بواسطة abulayth - 27-10-13, 05:34 PM
RE: Master - Detail Example - بواسطة hoob computer - 30-10-13, 03:34 PM
RE: Master - Detail Example - بواسطة ali.alfoly - 30-10-13, 04:23 PM
RE: Master - Detail Example - بواسطة hoob computer - 30-10-13, 04:32 PM
RE: Master - Detail Example - بواسطة atefkhalf2004 - 01-11-13, 09:35 PM
RE: Master - Detail Example - بواسطة hoob computer - 03-11-13, 09:46 AM
الدرس الثالث و الأخير - بواسطة hoob computer - 05-11-13, 04:24 PM
RE: Master - Detail Example - بواسطة atefkhalf2004 - 16-11-13, 02:19 PM
RE: Master - Detail Example - بواسطة hoob computer - 16-11-13, 08:57 PM
RE: Master - Detail Example - بواسطة الشاكي لله - 16-11-13, 09:03 PM
RE: Master - Detail Example - بواسطة hoob computer - 17-11-13, 12:43 AM
RE: Master - Detail Example - بواسطة فانتسي ارت - 09-03-14, 10:05 AM
RE: Master - Detail Example - بواسطة hoob computer - 16-03-14, 04:41 PM
RE: Master - Detail Example - بواسطة Omar Mekkawy - 10-08-14, 03:25 AM
RE: Master - Detail Example - بواسطة hoob computer - 24-08-14, 11:27 AM
RE: Master - Detail Example - بواسطة ناصر الناصر - 17-10-14, 11:30 PM
RE: Master - Detail Example - بواسطة hoob computer - 20-10-14, 11:50 AM
RE: Master - Detail Example - بواسطة مخـ الأمل ـاوي - 03-09-18, 07:30 AM
RE: Master - Detail Example - بواسطة elgokr - 03-09-18, 08:19 AM

التنقل السريع :


يقوم بقرائة الموضوع: