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

نسخة كاملة : إدراج صورة في الجدول في التقرير
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته
تقبل الله صيامكم وقيامكم ، وبعد :
نعلم جميعاً أن WPF لا تدعم التقارير للطباعة وخاصة لمن يتعاملون مع قواعد البيانات ولكن مايركوسوفت وفرت أداة مفتوحة المصدر لذلك ، وهي على هذا الرابط :
https://github.com/jogibear9988/CodeReason.Reports

رابط مباشر للتحميل :
https://codeload.github.com/jogibear9988...zip/master


وقد تناقشنا سابقاً على صفحات المنتدى حول هذه الأداة وحاولت فهمها جيداً وخرجت بنتائج إيجابية
ولكن هنالك مشكلة لم أجد لها حلاً وأريد المساعدة فيها ، وهي :
أن تظهر الصور في التقرير
عندي قاعدة بيانات فيها جدول فيه بيانات وصور لكل سجل ، ولقد استطعت إظهار السجلات بما فيها من بيانات
ولكن الصور لا تظهر رغم أن الكود لا يوجد فيها خطأ حسب علمي :
[attachment=10857]
المثال الذي قمت بعمله هو بالمرفقات
عليكم السلام ورحمة الله وبركاته ...

خلال الغوص والغوص في اكواد مكتبة CodeReason وجدت كود واضح وفاضح لسبب هذه المشكلة :_

PHP كود :
                   for (int j 0table.Columns.Countj++)
 
                   {
 
                       string value dataRow[j].ToString();
 
                       currentRow.Cells.Add(new TableCell(new Paragraph(new Run(value))));
 
                   


كما نرى ، مصمم المكتبة فقط قام بافتراض ان الRow سيتحتوي على string فقط (كما يظهر بالسطر الاول) ، ولم ياخذ في الاعتبار ان المستخدم قد يضيف Image او اي شيئ اخر الى الTable

لذلك قمت بعمل شرط بسيط لتجاوز هذا الموضوع

PHP كود :
                   for (int j 0table.Columns.Countj++)
 
                   {
 
                       if (dataRow[jis Image)
 
                       {
 
                           InlineUIContainer container = new InlineUIContainer((Image)dataRow[j]);
 
                           Paragraph paragraph = new Paragraph(container);
 
                           paragraph.TextAlignment TextAlignment.Center;
 
                           currentRow.Cells.Add(new TableCell(paragraph));
 
                       }
 
                       else
                        
{
 
                           string value dataRow[j].ToString();
 
                           currentRow.Cells.Add(new TableCell(new Paragraph(new Run(value))));
 
                       }
 
                   



والتعديل الي حصل في البرنامج بسيط جدا :
PHP كود :
                              Dim img As New System.Windows.Controls.Image()
 
                              img.Source bitmap
                               img
.Height 40
                               img
.Width 40

                               obj
(1) = img 



، والنتيجة :-



التحميل بالمرفقات
الله يزيدك علم اخي العزيز الشاكي لله Smile

فعلا تركيز متميز عندك ههههه

تحياتي
(18-06-16, 04:14 PM)Sajad كتب : [ -> ]الله يزيدك علم اخي العزيز الشاكي لله Smile

فعلا تركيز متميز عندك ههههه

تحياتي

حياك الله اخوي سجاد Smile

الحمدلله انها كانت شغلة كود بسيط ههههه
ما شاء الله تبارك الله أخي الحبيب الغالي الشاكي لله
اسمح لي أن أرفع لك القبعة مع تعظيم سلام
بالفعل هذا هو الحل الذي لم أكن لأصل له لولا فضل الله ثم جهدك الرائع والمميز
لقد قمت بالتعديل في ملف ReportPaginator.cs الموجود في CodeReason.Reports.VS2010
وتم حل المشكلة بالفعل فجزاك الله عني كل خير وجعلنا وإياك من عتقاء هذا الشهر الفضيل
أسأل الله تعالى في هذا الشهر الفضيل أن يجعل ذلك في موازينك وأن يزيدك من علمه وفضله ورزقه وكرمه
Smile
هل بالامكان تحديد هوامش الصفحة

وكيف اذا كانت الورقة ليست A4 هل يتعرف على حجم الورق تلقائياً

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

وشكر جزيلا لكم
(10-08-16, 11:23 AM)nabeelhassan كتب : [ -> ]هل بالامكان تحديد هوامش الصفحة

وكيف اذا كانت الورقة ليست A4 هل يتعرف على حجم الورق تلقائياً

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

وشكر جزيلا لكم

السلام عليكم ورحمة الله وبركاته
نعم يمكنك تحديد هوامش الصفحة وإضافة هيدر وفوتر
والمثال بالمرفقات وكل شيء فيه واضح وتستطيع التعديل كما تريد
كما أنني شرحت كل شيء فيه بالتفصيل باللغة العربية
وهو يدعم الصور والهوامش والفوتر والهيدر
بالنسبة لإعدادات الورقة يمكنك التحكم بها من خلال إعدادات الطباعة
Smile
السندباد خليت الشاكي يستمتع  Big Grin
ما سبق لي تجربتها وبفضلكم لقيت شي يستاهل الوقوف خصوصا كونه مجاني ومفتوح المصدر Shy
(11-08-16, 04:08 AM)أبو عمر كتب : [ -> ]Smile
السندباد خليت الشاكي يستمتع  Big Grin
ما سبق لي تجربتها وبفضلكم لقيت شي يستاهل الوقوف خصوصا كونه مجاني ومفتوح المصدر Shy

نور القسم بإطلالتك البهية أخ أبو عمر ومن زمان القمر ما بان Wink
بالفعل أصبح بالإمكان صنع تقرير مميز بهذه الأداة وخاصة بعد اللمسة السحرية التي أضافها الشاكي لله
والتي أصبح بالإمكان من خلالها إضافة صور للتقرير
بقي ملاحظة واحدة وهي :
لو كان الجدول كبيراً بحيث يظهر في أكثر من صفحة فإن هيدر الجدول سيظهر في الصفحة الأولى فقط ولن يظهر في بقية الصفحات
والصورة التالية توضح ما أقصده :
[attachment=11374]

أظن المسألة تحتاج إلى تعديل برمجي في مكتبة CodeReason
بصراحة أنا حاولت ولم أصل لنتيجة

Smile