تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مقال] تحويل الارقام الى العربية في تقارير ReportViewer
#1
ليس جديداً هذا الموضوع و قد يبدو مكررا , لكن ما دعاني الى كتابته هو حاجة بعض الاخوة له
المشكلة في هذا النوع من التقارير انه لا يستجيب لتغير نظام الارقام في الاعدادات مهما حاولت (ربما يختلف الامر باختلاف نسخ الوندوز .. لا ادري)؟
المهم وجدت نفسي مجبراً على استخدام كود يقوم باستبدال الارقام الاجنبية بارقام عربية (شبيهة نوعا ما بعملية الرسم )
ندخل في المهم 
في جسم التقرير سنكتب دالة تقوم بهذه العملية و من ثم نسنتدعيها في المكان الذي نريد فيه استبدال الارقام لتتضح الصورة تابع
من جسم التقرير بيمين الماوس


بعدها سنقوم باضافة الدالة التالية في المكان المخصص


بنية الدالة
كود :
   Public Function ArNumber(ByVal str As String) As String
       Dim s As String = ""
       Dim ch() As Char = str.ToCharArray

       For Each chr As Char In ch
           Select Case chr
               Case "1"
                   chr = "١"
                   s += chr
               Case "2"
                   chr = "٢"
                   s += chr
               Case "3"
                   chr = "٣"
                   s += chr
               Case "4"
                   chr = "٤"
                   s += chr
               Case "5"
                   chr = "٥"
                   s += chr
               Case "6"
                   chr = "٦"
                   s += chr
               Case "7"
                   chr = "٧"
                   s += chr
               Case "8"
                   chr = "٨"
                   s += chr
               Case "9"
                   chr = "٩"
                   s += chr
               Case "0"
                   chr = "٠"
                   s += chr
               Case Else
                   s += chr

           End Select

       Next
       Return s
   End Function

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


ثم نسنتدعي الدالة مع تمرير قيمة الحقل


الجيد في الامر ان نوع البيانات يبقى كما هو اي رقمي لذا لا تخف من التحويل في حال كان لديك حقل ينفذ عملية جمع في التقرير تعتمد على الحقول التي عالجناها وفق الدالة
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
#2
سبحان الله   واجهتني نفس المشكله و استخدمت نفس الطريقة في معالجتها  ،، هي نوعا ما حل ترقيعي  و لكن يفي بالغرض هههههههههههه  

بالرغم اني استنكر رؤية الارقام الهنديه في التقارير  و كانت اول مره و اخر مره  

بارك الله فيك ، وشكرا على الاكواد

همسه  :  هذه ارقام هنديه   و الارقام العربيه  هي التي يستخدمها الاجانب و هي ارقام اخترعها الخوارزمي بناءاً على عدد الزوايا  و متعارف عليها دوليا  ، حتى ببرنامج الفوتوشوب لما  تريد تغيير  شكل كتابة الارقام يوجد هنديه و التي نستخدمها نحن  و عربيه و التي يستخدمها الاجانب  و لكن اختلط الحابل بالنابل ، فقط للتوضيح .  Wink
اسم معرفي : محمد يحيى
الرد }}}
تم الشكر بواسطة: ابو ليلى , محمد كريّم
#3
كلامك صحيح اخي محمد (اختلط الحابل بالنابل)
المشكلة ان تقارير Rdlc هي الابن المصغر من الاب Rdl  الخاص بتقارير SqlServer و نفس المشكلة مع نظام الارقام و تعريبها
حتى شركة MicroSoft توجهك لطريقة عقيمة و غير مجدية لتعريب الارقام لا يوجد حل لها حتى الان ؟؟
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة:
#4
هناك طريقة لتغيير الارقام الى العربية 
وذلك بالضبط من اصل الوندوز
وهي مجربة على 7
تجدها في اعدادات اللغة

V
تغيير تنسيقات الوقت او الارقام او التاريخ

V
اعدادات اضافية

V
تخصيص التنسيق

V
الارقام >  استخدام الارقام الاصلية  > محلي

هكذا ستظهر كل ارقام الكمبيوتر بالعربي ومنها التقارير 
الرد }}}
تم الشكر بواسطة:
#5
(13-11-16, 09:50 PM)ابو ليلى كتب : ليس جديداً هذا الموضوع و قد يبدو مكررا , لكن ما دعاني الى كتابته هو حاجة بعض الاخوة له
المشكلة في هذا النوع من التقارير انه لا يستجيب لتغير نظام الارقام في الاعدادات مهما حاولت (ربما يختلف الامر باختلاف نسخ الوندوز .. لا ادري)؟
المهم وجدت نفسي مجبراً على استخدام كود يقوم باستبدال الارقام الاجنبية بارقام عربية (شبيهة نوعا ما بعملية الرسم )
ندخل في المهم 
في جسم التقرير سنكتب دالة تقوم بهذه العملية و من ثم نسنتدعيها في المكان الذي نريد فيه استبدال الارقام لتتضح الصورة تابع
من جسم التقرير بيمين الماوس


بعدها سنقوم باضافة الدالة التالية في المكان المخصص


بنية الدالة
كود :
   Public Function ArNumber(ByVal str As String) As String
       Dim s As String = ""
       Dim ch() As Char = str.ToCharArray

       For Each chr As Char In ch
           Select Case chr
               Case "1"
                   chr = "١"
                   s += chr
               Case "2"
                   chr = "٢"
                   s += chr
               Case "3"
                   chr = "٣"
                   s += chr
               Case "4"
                   chr = "٤"
                   s += chr
               Case "5"
                   chr = "٥"
                   s += chr
               Case "6"
                   chr = "٦"
                   s += chr
               Case "7"
                   chr = "٧"
                   s += chr
               Case "8"
                   chr = "٨"
                   s += chr
               Case "9"
                   chr = "٩"
                   s += chr
               Case "0"
                   chr = "٠"
                   s += chr
               Case Else
                   s += chr

           End Select

       Next
       Return s
   End Function

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


ثم نسنتدعي الدالة مع تمرير قيمة الحقل


الجيد في الامر ان نوع البيانات يبقى كما هو اي رقمي لذا لا تخف من التحويل في حال كان لديك حقل ينفذ عملية جمع في التقرير تعتمد على الحقول التي عالجناها وفق الدالة

للاسف الطريق لم تعمل
الرد }}}
تم الشكر بواسطة: اسامه الهرماوي
#6
السلام عليكم...
انا شايف اننا نستخدم خط عربي للأرقام ودا رابط المشاركة.
تحميل خط عربي لتعريب الارقام في reporter viwer
المبرمج لا يفكر في المشكلة بل في الحل!!
الرد }}}
تم الشكر بواسطة: حريف برمجة , حريف برمجة , elgokr
#7
موضوع شيق يعطيك العافية
الرد }}}
تم الشكر بواسطة:
#8
(13-11-16, 09:50 PM)ابو ليلى كتب : ليس جديداً هذا الموضوع و قد يبدو مكررا , لكن ما دعاني الى كتابته هو حاجة بعض الاخوة له
المشكلة في هذا النوع من التقارير انه لا يستجيب لتغير نظام الارقام في الاعدادات مهما حاولت (ربما يختلف الامر باختلاف نسخ الوندوز .. لا ادري)؟
المهم وجدت نفسي مجبراً على استخدام كود يقوم باستبدال الارقام الاجنبية بارقام عربية (شبيهة نوعا ما بعملية الرسم )
ندخل في المهم 
في جسم التقرير سنكتب دالة تقوم بهذه العملية و من ثم نسنتدعيها في المكان الذي نريد فيه استبدال الارقام لتتضح الصورة تابع
من جسم التقرير بيمين الماوس


بعدها سنقوم باضافة الدالة التالية في المكان المخصص


بنية الدالة
كود :
   Public Function ArNumber(ByVal str As String) As String
       Dim s As String = ""
       Dim ch() As Char = str.ToCharArray

       For Each chr As Char In ch
           Select Case chr
               Case "1"
                   chr = "١"
                   s += chr
               Case "2"
                   chr = "٢"
                   s += chr
               Case "3"
                   chr = "٣"
                   s += chr
               Case "4"
                   chr = "٤"
                   s += chr
               Case "5"
                   chr = "٥"
                   s += chr
               Case "6"
                   chr = "٦"
                   s += chr
               Case "7"
                   chr = "٧"
                   s += chr
               Case "8"
                   chr = "٨"
                   s += chr
               Case "9"
                   chr = "٩"
                   s += chr
               Case "0"
                   chr = "٠"
                   s += chr
               Case Else
                   s += chr

           End Select

       Next
       Return s
   End Function

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


ثم نسنتدعي الدالة مع تمرير قيمة الحقل


الجيد في الامر ان نوع البيانات يبقى كما هو اي رقمي لذا لا تخف من التحويل في حال كان لديك حقل ينفذ عملية جمع في التقرير تعتمد على الحقول التي عالجناها وفق الدالة

ممتاز بارك الله فيك 
ولكن لازالت مشكلة بسيطة مع التواريخ  لا تعمل هذه الدالة مع حقل تاريخ في حالة عمل فورمات للتاريخ
الرد }}}
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم