الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اتعامل مع ال formula في التقارير

مغلق
بدأه أبو البراء 2 في 18 سبتمبر 2005 · 2 رد · 924 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ،،

لدي تقرير واريد أن امرر قيمة من الـ textbox إلى التقرير فكيف يمكن ذلك

حيث أني حاولت مع الـ crystal reportviewer والـ reportdocument

حاولت أن اسند خاصية الـ formula لأحدهما ،

ولكن دون جدوى . ولكم جزيل الشكر .

#2

السلام عليكم

التركيبة النصية لمنادة حقل مرتبط بقاعدة البيانات في التقرير تكون عن طريق

إنشاء ممرر في التقرير

على سبيل المثال لإنشاء ممرر يأخذ القيمة من صندوق الحوار القادم مع التقرير سيكون بهذا الشكل

الصورة تبين طريقة إنشاء الممرر.

18_09_05_02_24_42_1127078682EditparameterField.jpg

ثم مثلاً لوضع قيم إفتراضية في الصندوق المعين لهذا الممرر شاهد الصورة

18_09_05_02_25_31_1127078731paramSetDefaultValues.jpg

ثم بمجرد إنعاش (Refresh) التقرير سيقوم بشكل تلقائي بإظهار صندوق الحوار الذي يعين قيمة الممرر, بالكود التالي

 'Classic Report with Normal Dialog Report Box
        Dim rpt4 As New Report4
        rpt4.SetDataSource(ds)
        rpt4.SummaryInfo.ReportTitle = "الفريق العربي للبرمجة"
        CRV.ReportSource = rpt4
        rpt4.Refresh()

أما لإرسال الممرر بدون إظهار صندوق الحوار يكون بأشكال مختلفه

منها مثلاً أننا نسند قيمة للحقل مباشرتاً عن طريق RecordSelectionFormula إليك المثال التالي .

 Dim rpt2 As New Report2
        rpt2.SetDataSource(ds)
        rpt2.RecordSelectionFormula = "{TableName.ColumnName}=" & cboxID.Text
        CRV.ReportSource = rpt2

كذلك تستطيع عن طريق إستنساخ عنصر من نوع ParameterDiscreteValue بهذا الشكل

Dim rpt As New Report1
        rpt.SummaryInfo.ReportTitle = "الفريق العربي للبرمجة"
        rpt.SetDataSource(ds)
        Dim crPDV As New ParameterDiscreteValue
        Dim pf As New ParameterField
        Dim pfs As New ParameterFields
        crPDV.Value = cboxNames.Text
        pf.ParameterFieldName = "@ContactName"
        pf.CurrentValues.Add(crPDV)
        pfs.Add(pf)
        CRV.ParameterFieldInfo = pfs
        CRV.ReportSource = rpt

في التقرير يفترض أن يكون لديك ممرر باسم @ContactName

كذلك بطريقة أخرى مشابهة للثانية تكون عن طريق تطبيق القيمة الحالية ApplyCurrentValues بهذا الشكل

 ' Create a report document instance to hold the report.
        Dim rpt3 As New ReportDocument

        ' Create objects used to set the parameters in the report.
        Dim pvCollection As New CrystalDecisions.Shared.ParameterValues
        Dim pdvName As New CrystalDecisions.Shared.ParameterDiscreteValue

        Try

            ' Load the report
            rpt3.Load(ReportPath)

            'Report DataSource
            rpt3.SetDataSource(ds)

            'Set Report Title
            rpt3.SummaryInfo.ReportTitle = "الفريق العربي للبرمجة"

            ' Set the discreet value to the customers name.
            pdvName.Value = cboxNames.Text

            ' Add it to the parameter collection.
            pvCollection.Add(pdvName)

            ' Apply the current parameter values.
            rpt3.DataDefinition.ParameterFields("@ContactName").ApplyCurrentValues(pvCollection)

            'Viewer Report Source
            CRV.ReportSource = rpt3

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

شاهد الملف المرفق بالتوفيق إن شاء الله .

CrystalReportFormulaFieldParam.zip

في المثال يتضح المقال

#3

شكرا جزيلا يالغملاسي ، وكثر الله خيرك .

هذا الموضوع مغلق.

مواضيع مشابهة