السلام عليكم ورحمة الله وبركاته ،،
لدي تقرير واريد أن امرر قيمة من الـ textbox إلى التقرير فكيف يمكن ذلك
حيث أني حاولت مع الـ crystal reportviewer والـ reportdocument
حاولت أن اسند خاصية الـ formula لأحدهما ،
ولكن دون جدوى . ولكم جزيل الشكر .
السلام عليكم ورحمة الله وبركاته ،،
لدي تقرير واريد أن امرر قيمة من الـ textbox إلى التقرير فكيف يمكن ذلك
حيث أني حاولت مع الـ crystal reportviewer والـ reportdocument
حاولت أن اسند خاصية الـ formula لأحدهما ،
ولكن دون جدوى . ولكم جزيل الشكر .
السلام عليكم
التركيبة النصية لمنادة حقل مرتبط بقاعدة البيانات في التقرير تكون عن طريق
إنشاء ممرر في التقرير
على سبيل المثال لإنشاء ممرر يأخذ القيمة من صندوق الحوار القادم مع التقرير سيكون بهذا الشكل
الصورة تبين طريقة إنشاء الممرر.
ثم مثلاً لوضع قيم إفتراضية في الصندوق المعين لهذا الممرر شاهد الصورة
ثم بمجرد إنعاش (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شاهد الملف المرفق بالتوفيق إن شاء الله .
في المثال يتضح المقال
شكرا جزيلا يالغملاسي ، وكثر الله خيرك .
هذا الموضوع مغلق.