السلام عليكم ورحمة الله وبركاته
تقبل الله صيامكم وقيامكم ، وبعد :
نعلم جميعاً أن WPF لا تدعم التقارير للطباعة وخاصة لمن يتعاملون مع قواعد البيانات ولكن مايركوسوفت وفرت أداة مفتوحة المصدر لذلك ، وهي على هذا الرابط :
رابط مباشر للتحميل :
وقد تناقشنا سابقاً على صفحات المنتدى حول هذه الأداة وحاولت فهمها جيداً وخرجت بنتائج إيجابية
ولكن هنالك مشكلة لم أجد لها حلاً وأريد المساعدة فيها ، وهي :
أن تظهر الصور في التقرير
عندي قاعدة بيانات فيها جدول فيه بيانات وصور لكل سجل ، ولقد استطعت إظهار السجلات بما فيها من بيانات
ولكن الصور لا تظهر رغم أن الكود لا يوجد فيها خطأ حسب علمي :
[attachment=10857]
المثال الذي قمت بعمله هو بالمرفقات
عليكم السلام ورحمة الله وبركاته ...
خلال الغوص والغوص في اكواد مكتبة CodeReason وجدت كود واضح وفاضح لسبب هذه المشكلة :_
PHP كود :
for (int j = 0; j < table.Columns.Count; j++)
{
string value = dataRow[j].ToString();
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(value))));
}
كما نرى ، مصمم المكتبة فقط قام بافتراض ان الRow سيتحتوي على string فقط (كما يظهر بالسطر الاول) ، ولم ياخذ في الاعتبار ان المستخدم قد يضيف Image او اي شيئ اخر الى الTable
لذلك قمت بعمل شرط بسيط لتجاوز هذا الموضوع
PHP كود :
for (int j = 0; j < table.Columns.Count; j++)
{
if (dataRow[j] is 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
، والنتيجة :-
التحميل بالمرفقات
الله يزيدك علم اخي العزيز الشاكي لله
فعلا تركيز متميز عندك ههههه
تحياتي
(18-06-16, 04:14 PM)Sajad كتب : [ -> ]الله يزيدك علم اخي العزيز الشاكي لله 
فعلا تركيز متميز عندك ههههه
تحياتي
حياك الله اخوي سجاد
الحمدلله انها كانت شغلة كود بسيط ههههه
ما شاء الله تبارك الله أخي الحبيب الغالي الشاكي لله
اسمح لي أن أرفع لك القبعة مع تعظيم سلام
بالفعل هذا هو الحل الذي لم أكن لأصل له لولا فضل الله ثم جهدك الرائع والمميز
لقد قمت بالتعديل في ملف ReportPaginator.cs الموجود في CodeReason.Reports.VS2010
وتم حل المشكلة بالفعل فجزاك الله عني كل خير وجعلنا وإياك من عتقاء هذا الشهر الفضيل
أسأل الله تعالى في هذا الشهر الفضيل أن يجعل ذلك في موازينك وأن يزيدك من علمه وفضله ورزقه وكرمه
هل بالامكان تحديد هوامش الصفحة
وكيف اذا كانت الورقة ليست A4 هل يتعرف على حجم الورق تلقائياً
وهل بامكاني اضافة هيدر وفوتر للصفحة
وشكر جزيلا لكم
(10-08-16, 11:23 AM)nabeelhassan كتب : [ -> ]هل بالامكان تحديد هوامش الصفحة
وكيف اذا كانت الورقة ليست A4 هل يتعرف على حجم الورق تلقائياً
وهل بامكاني اضافة هيدر وفوتر للصفحة
وشكر جزيلا لكم
السلام عليكم ورحمة الله وبركاته
نعم يمكنك تحديد هوامش الصفحة وإضافة هيدر وفوتر
والمثال بالمرفقات وكل شيء فيه واضح وتستطيع التعديل كما تريد
كما أنني شرحت كل شيء فيه بالتفصيل باللغة العربية
وهو يدعم الصور والهوامش والفوتر والهيدر
بالنسبة لإعدادات الورقة يمكنك التحكم بها من خلال إعدادات الطباعة