منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تحويل الارقام الى العربية في تقارير ReportViewer
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
ليس جديداً هذا الموضوع و قد يبدو مكررا , لكن ما دعاني الى كتابته هو حاجة بعض الاخوة له
المشكلة في هذا النوع من التقارير انه لا يستجيب لتغير نظام الارقام في الاعدادات مهما حاولت (ربما يختلف الامر باختلاف نسخ الوندوز .. لا ادري)؟
المهم وجدت نفسي مجبراً على استخدام كود يقوم باستبدال الارقام الاجنبية بارقام عربية (شبيهة نوعا ما بعملية الرسم )
ندخل في المهم 
في جسم التقرير سنكتب دالة تقوم بهذه العملية و من ثم نسنتدعيها في المكان الذي نريد فيه استبدال الارقام لتتضح الصورة تابع
من جسم التقرير بيمين الماوس


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


بنية الدالة
كود :
   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

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


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


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

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

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

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

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

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

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

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

هكذا ستظهر كل ارقام الكمبيوتر بالعربي ومنها التقارير 
(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

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


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


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

للاسف الطريق لم تعمل
السلام عليكم...
انا شايف اننا نستخدم خط عربي للأرقام ودا رابط المشاركة.
تحميل خط عربي لتعريب الارقام في reporter viwer
موضوع شيق يعطيك العافية
(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

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


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


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

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