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

Dynamic reportviewer

مغلق
بدأه omar_sabha في 7 يوليو 2007 · 2 رد · 1,527 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ارجو مساعدتي للضروره القصوى

انا اعمل على asp.net 2003

وواجهتني مشكلة ارجو مساعدتي فيها ، ساقوم بشرح ما اريد

في البداية نفرض ان هناك صفحات

aspx (ولكل من هذه الصفحات report معين وفي كل من هذه ال report يكون عدد محدد من ال parameter )

وصفحة reportviewer وتقارير .rpt

اريد في اي من صفحات ال aspx ( كل صفحة تحتوي على parametr او اكثر وبالطبع في كل صفحة تكون ال parameter محدده ) اريد عند ارسال ال parameter الى صفحة reportviewer ان تقوم هذه الصفحة

(reportviewer) باستقبالها dynamically اي انه ربما ابعت برميتر واحد وربما 2 او 3 او ربما بدون اي برميتر

فاريد صفحة reportviewer ان تستقبلها dynamically باستخدام مثلا loop

وان تتم معاجتها بالطريقه المطلوبه ومن ثم طباعه التقرير .

ارجو المياعده للضروره ولكم جزيل الشكر

#3

السلام عليكم

فكرة عمل حلقة Loop ليست بالفكرة الرائدة, و يخلفها عملية الاختبار عبر If statement على سبيل المثال.

نستخدم التعبير -1 لتجاهل هذا المُمرر Parameter شاهد النصوص البرمجية لذلك.

هذه النصوص تكتب في الـ Record Selection .

(({Main.FollowDate}>= {?@SDate}and {Main.FollowDate}<= {?@EDate})
or ({?@WithDate}= False)) and
(({Main.AccidentKind} ={?@CriteriaID}) or ({?@All}=-1)) and
(
(({Main.SimilarityResult}={?@MoreDtailsSimResults}) or ({?@MoreDtailsSimResults}=5)) and
(({Main.ExpertName} = {?@MoreDtailsExperts}) or ({?@MoreDtailsExperts}=-1)) or ({?@WithMoreDetails} =false)) and
((Time({Main.FollowTime}) >= Time({?@STime}) and Time({Main.FollowTime}) <= Time({?@ETime})) 
or ({?@WithTime}=False))

شاهد الصورة في المرفقات.

النصوص البرمجية التي يجب أن تكتب عبر البرنامج تكون كالتالي:

With rptObjects

				'Assign report author
				.SummaryInfo.ReportAuthor = "Nasser Alghumlasi"

				'Supply Title name
				.SummaryInfo.ReportTitle = cboxLoadData.Text

				'Supply Variable ID param
				.SetParameterValue("@CriteriaID", cboxLoadData.SelectedValue)

				'Supply All Data if no one spesific.
				.SetParameterValue("@All", cboxLoadData.SelectedValue)

				'Supply Start Date .
				.SetParameterValue("@SDate", dtpSDate.Value.ToShortDateString)

				'Supply End Date .
				.SetParameterValue("@EDate", dtpEDate.Value.ToShortDateString)

				'Enable or disable dates search keywords .
				.SetParameterValue("@WithDate", chkBoxWithDate.Checked)

				'Supply Start Time .
				.SetParameterValue("@STime", dtpSTime.Value.ToShortTimeString)

				'Supply End Time .
				.SetParameterValue("@ETime", dtpETime.Value.ToShortTimeString)

				'Enable or disable times search keywords .
				.SetParameterValue("@WithTime", chkBoxWithTime.Checked)


				'++++++++++++++++++++++++++++++++++++++++++++++++++++++
				'More Details search Keywords, Date updated 1-3-2006  +
				'++++++++++++++++++++++++++++++++++++++++++++++++++++++

				'Enable or disable More Details search keywords .
				.SetParameterValue("@WithMoreDetails", chkBoxWithMoreDetails.Checked)

				'Supply MoreDetailsExperts .
				.SetParameterValue("@MoreDtailsExperts", Me.cboxMoreDetailsExperts.SelectedValue)

				'Supply MoreDetailsSimResults .
				.SetParameterValue("@MoreDtailsSimResults", Me.cboxMoreDetailsSimResults.SelectedValue)



				' Declare variables used to set the proper database connection information.
				Dim tbC As CrystalDecisions.CrystalReports.Engine.Table
				Dim tli As CrystalDecisions.Shared.TableLogOnInfo


				' Assign report connection
				For Each tbC In rptObjects.Database.Tables
					tli = tbC.LogOnInfo
					With tli.ConnectionInfo
						.ServerName = My.Settings.GetServerName
						.DatabaseName = My.Settings.GetDataBaseName
					End With
					tbC.ApplyLogOnInfo(tli)
				Next tbC

			End With


			'Assign report source
			CRV.ReportSource = rptObjects
			CRV.Refresh()

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

post-17025-1185826020_thumb.jpg

تم تعديل هذه المشاركة بواسطة الشهاب الحارق في 30 يوليو 2007 في 23:07

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

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

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