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

اختلاف التقرير المعد بالكريستال من 2003 عن 2005

بدأه shramroasp في 17 سبتمبر 2008 · 4 رد · 1,146 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كنت أعددت تقرير تحت بيئة عمل vs2003 واسمه r_admin_c وأصدره إلى وورد بواسطة الكود

DataSet ds= new DataSet();
// أهملت  أكواد تعبئة الداتا ست
CrystalDecisions.Shared.DiskFileDestinationOptions oDest= new CrystalDecisions.Shared.DiskFileDestinationOptions();
r_admin_c oRpt= new r_admin_c();
oRpt.SetDataSource(ds);
string expFileName=Server.MapPath("/")+ "contract.doc";
			oRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.WordForWindows,expFileName);

وكان كل شيء جميل وتظهر الأرقام الهندية والعربية حسب السياق والفقرات محاذاة من اليمين إلى اليسار

وقمت بتحويل المشروع إلى بيئة vs2005 وقمت بكتابة الكود التالي :

   
		ReportDocument oRpt = new ReportDocument();
		DataSet ds = new DataSet();
CrystalDecisions.Shared.DiskFileDestinationOptions oDest = new CrystalDecisions.Shared.DiskFileDestinationOptions();
		oRpt.Load(Server.MapPath("r_admin_id.rpt"));
		oRpt.SetDataSource(ds);
		oRpt.Refresh();
string expFileName=Server.MapPath("/")+ "contract.doc";
			oRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.WordForWindows,expFileName);

ولكن هنا ظهر الاختلاف فالأرقام تظهر بالعربية وليست الهندية والفقرات محاذاتها إلى اليسار على الرغم من تأكدي في تصميم التقرير أنها من اليمين إلى اليسار

فلماذا تحدث هذه المشكلة ،

ولماذا لا يمكنني الاشارة إلى التقرير على أنه object في vs2005 بمعنى

r_admin_id  RpNmae= new r_admin_id();

وهذا ما كنت أفعله في vs2003

وشكرا

#2

up

#3

ولماذا لا يمكنني الاشارة إلى التقرير على أنه Object في vs2005

فعلن لا يمكن وانا اواجة نفس المشكلة لا يمكن استخدام التقرير

#4

واجهتني مشكلة الارقام الهندية

هل وجدتم الحل

تم تعديل هذه المشاركة بواسطة mn_902 في 25 أكتوبر 2009 في 01:29

#5

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

افتح التقرير في وضع التصميم

اذهب الى خصائص التقرير بالظغط على المربع الاسود اعلى التقرير بجهة اليسار

انتقل الى لسان التبويب Code

واضف الدالة التالية والتي تقوم بتحويل الارقام العربية الى ارقام هندية :

 Function EnText(ByVal texto As String) As String
		Dim i As Integer
		Dim LongText As String = ""
		For i = 1 To texto.Length
			If Mid$(texto, i, 1) = "0" Then
				LongText = LongText & ChrW(&H660)
			ElseIf Mid$(texto, i, 1) = "1" Then
				LongText = LongText & ChrW(&H661)
			ElseIf Mid$(texto, i, 1) = "2" Then
				LongText = LongText & ChrW(&H662)
			ElseIf Mid$(texto, i, 1) = "3" Then
				LongText = LongText & ChrW(&H663)
			ElseIf Mid$(texto, i, 1) = "4" Then
				LongText = LongText & ChrW(&H664)
			ElseIf Mid$(texto, i, 1) = "5" Then
				LongText = LongText & ChrW(&H665)
			ElseIf Mid$(texto, i, 1) = "6" Then
				LongText = LongText & ChrW(&H666)
			ElseIf Mid$(texto, i, 1) = "7" Then
				LongText = LongText & ChrW(&H667)
			ElseIf Mid$(texto, i, 1) = "8" Then
				LongText = LongText & ChrW(&H668)
			ElseIf Mid$(texto, i, 1) = "9" Then
				LongText = LongText & ChrW(&H669)
			Else
				LongText = LongText & Mid$(texto, i, 1)
			End If

		Next
		Return LongText

	End Function

الان تكتب في مربع النص الذي تريد ان يظهر به رقم هندي الدالة التالية مثال :

=code.EnText(First(Fields!a1.Value))

الجدير ذكره ان مشكلة تحويل الارقام الى الهندية تظهر ايضا اذا اردت تصدير التقرير الى PDF

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

post-520-1256998665_thumb.jpg

تم تعديل هذه المشاركة بواسطة fahadam في 31 أكتوبر 2009 في 17:17

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…