![]() |
|
[مشروع] درس استخدام الكلاس من تقارير ريبورت فيور - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم امثلة ومشاريع VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=188) +--- الموضوع : [مشروع] درس استخدام الكلاس من تقارير ريبورت فيور (/showthread.php?tid=28014) |
درس استخدام الكلاس من تقارير ريبورت فيور - a.wagdi - 24-12-18 السلام عليكم ورحمة الله وبركاته ستتعلم إن شاء الله في هذا الدرس طريقة ربط تقارير ReportViewer بكلاس عن طريق DataObject تتوفر تقارير ReportViewer في إصدارات VisualStudio وهي غير متوفرة في إصدارات Express إضافة كلاس: أضف الكلاس من خلال القائمة Project ثم Add Class وسميه Person ثم اكتب الكود التالي في الكلاس وهو عبارة عن بطاقة شخصية بسيطة جدا تتكون فقط من رقم واسم وصورة PHP كود : Public Class Personعمل Build: بعد اتمام عمل الكلاس قم بعمل Build هذه الخطوة ضرورية عند اي تعديل على الكلاس او التقرير. إنشاء تقرير ReportViewer: أضف تقرير ReportViewer عن طريق القائمة Project ثم Add New Item في نافذة الإضافة حدد في القسم الأيسر Reporting واختار Report ربط الكلاس بالتقرير: توضيح قبل ربط الكلاس بالتقرير فان كلمة Dataset تعني مجموعة البيانات، وهي ليست حصرا بملفات xsd. عند تصميم التقرير إذهب للقائمة View واختار Report Data او قم بالضغط على Ctrl+Alt+D، من قائمة ReportData إضغط على New ومنه اختار Datset، ستفتح لك نافذة Dataset Properties قم بالضغط على New الخاصة بـ Data source تذكّر هنا الاسم Name وهو افتراضيا "DataSet1" والذي ستحتاج إليه في الكود لاحقاً. ستفتح لك نافذة اختيار نوع مصدر البيانات Choose a Data Source Type قم باختيار Object ثم اضغط Next ستفتح لك نافذة اختيار كلاس البيانات Select the Data Objects قم بتوسيع شجرة المشروع إن كنت قد عملت Build قبل ذلك فسوف ترى الكلاس Person وقم بتحديده ثم اضغط Finish عند العودة لنافذة Dataset Properties قم بتحديد مصدر البيانات Data source (غالبا يشبه اسم المشروع) واسفل منه حدد الكلاس Person الآن سترى أن مجموعة البيانات "DataSet1" ظهرت في قائمة Report Data قم بسحب كلا من الرقم ID والاسم Name الى التقرير وتنسيقهما أما الصورة فضع بدلا منها من قائمة ToolBox أداة Image فتظهر تلقائيا لك نافذة Image Properties (وإن لم تظهر قم بالضغط على أداة الصورة Image بالزر اليمين واختار Image Properties) في نافذة خصائص الصورة Image Properties افتح Select the image source واختار منها Database سيظهر لك Use this field واختر منه حقل الصورة Photo وستعرفه بسهولة واخيرا افتح Use this MIME type لتحدد نوع الصورة فقم باختيار image/png وهو مناسب لجميع الصور قم بحفظ التقرير وعمل Build وتكون قد انتهيت من تصميم التقرير تصميم الفورم: اضف اداة Reportviewer الى الفورم وقم بربط التقرير به، سترى أنه تم انشاء PersonBindingSource بشكل تلقائي (حاليا لا تحتاجه في هذا المشروع) كتابة الكود: بالنسبة للكود فهو بسيط جدا، قم بإنشاء متغير p من الكلاس Person PHP كود : Dim p As New Person قم بإضافة باليانات اللازمة لعناصر المتغير p مثل PHP كود : p.ID = 123أما الصورة فقم أولا بإنشاء متغير للصورة PHP كود : Dim img As Image ثم حدد مصدر الصورة، إن كان من ملف أو من PictureBox.Image أو من Resource PHP كود : img = Image.FromFile("C:\photofile.jpg") وبما أن الصورة هي عبارة عن مصفوفة بايتات فعليك تحويلها عن طريق المكتبة ImageConverter PHP كود : p.Photo = New ImageConverter().ConvertTo(img, GetType(Byte())) بعد ان انتهيت من تجهير البيانات لم يبقى عليك سوى ربط هذه البيانات بالتقرير. عندما قمت في الخطوة السابقة بربط التقرير باداة عرض التقرير ReportViewer فإنه يحتوى على مصدر بيانات باسم "DataSet1" (تذكر النافذة Dataset Properties) مجموعة البيانات هي مجموعة أسطر أي مصفوفة بيانات، لهذا سيتم وضع المتغير p داخل اقواس {} لتحويلها لمصفوفة حتى وإن لم يكود هناك غيرها. PHP كود : Me.ReportViewer1.LocalReport.DataSources("DataSet1").Value = {p} والآن قم بتشغيل المشروع لتحصل على النتيجة. المشروع متوفر في المرفقات اتمنى أن أكون وفقت في تقديم هذا الدرس بشكل سهل وبسيط {وما توفيقي إلا بالله}. وإن شاء الله إن وجدت قبولا لهذا الدرس سأقوم بتجهيز درس آخر لعمل جدول بيانات باستخدام Data Object RE: درس استخدام الكلاس من تقارير ريبورت فيور - عبد العزيز البسكري - 24-12-18 السّلام عليكم و رحمة الله و بركاته
كفيت و وفيت و وعدت فكنت بالموعد أخي الكري
بارك الله فيك و لك و جزاك خير الجزاء و زادك من علمه و فضله و أسعدك بالدارين و أدام عليك الصحة و العافية و راحة البال إن شاء الله
درس قيّم و مميّز و مفهوم و مفيد
فقط أخي و أستسمحك عذرا إن أثقلت عليك لأنّ رغبة الإكتشاف و التعلم هي الدّافع وراء ذلك
لو أمكن و عندما يكون لديك الوقت الكافي أن تكمل معروفك بعمل مثال الربط بين جدول بقاعدة البيانات أكسس بالريبورت فيور فقط لمعرفة الخطوات و بارك الله فيك و فيمن تحب مقدّمًا
تحياتي و تقييماتي
RE: درس استخدام الكلاس من تقارير ريبورت فيور - a.wagdi - 24-12-18 (24-12-18, 03:27 AM)عبد العزيز البسكري كتب : وعليكم السلام ورحمة الله وبركاته يسعدني ذلك أخي الكريم هل تقصد ربط جدول بقاعدة البيانات باستخدام Data Object أم بالDataSet الخاصة بالمعالج؟ RE: درس استخدام الكلاس من تقارير ريبورت فيور - عبد العزيز البسكري - 24-12-18 السّلام عليكم و رحمة الله و بركاته
أقصد الربط بالداتاسيت Dataset الخاصّة بالمعالج أخي الكريم
أي قاعدة بيانات و أي جدول يكون به مثلا :
الترقيم
الاسم
تاريخ الميلاد
العنوان
و لك كل الشكر و التقدير و الإحترام
تحياتي
RE: درس استخدام الكلاس من تقارير ريبورت فيور - a.wagdi - 24-12-18 (24-12-18, 03:48 AM)عبد العزيز البسكري كتب : وعليكم السلام ورحمة الله وبركاته يسعدني تلبية طلبك، الأخ حريف برمجة قام مشكورا بكتابة موضوع: تقارير مايكروسوفت (Report Viewer) وفيه تفصيل كامل، وإن كنت تريد ما طلبت تماما فبكل سرور ألبي رغبتك RE: درس استخدام الكلاس من تقارير ريبورت فيور - a.wagdi - 25-12-18 (24-12-18, 11:28 AM)a.wagdi كتب :(24-12-18, 03:48 AM)عبد العزيز البسكري كتب : السلام عليكم ورحمة الله لم أتلقى جوابا منك حتى الآن أخي الكريم!. RE: درس استخدام الكلاس من تقارير ريبورت فيور - عبد العزيز البسكري - 25-12-18 السّلام عليكم و رحمة الله و بركاته
و الله أخي الكريم .. بقيت بقسم الأسئلة مع مشكلة الإتّصال مفتوح و مغلق فنسيت الإتّصال بباقي الأقسام
أرجو المعذرة أخي الغالي ..
بكل تأكيد .. حقيقة أخي الكريم " حريف برمجة " ما قصّر .. جزاه الله خير الجزاء
لكن إذا كانت هناك طريقة أخرى بالتأكيد يسرّني كثيرا معرفتها و متابعة طريقة إنجازها
بانتظارك أخي الكريم
تحياتي
|