استخدام التقارير مع السي شارب
في البداية اود ان اوضح ان هناك طريقتين لعمل تقرير مع السي شارب
طريقة Pull Model وهي الطريقة التقليدية التي يستخدم فيها فتح قاعدة البيانات باسم مستخدم وكلمة مرور ومن ثم تعيين جملة الإختيار select statement من الجداول وخلافة ...ولكن المشكلة تكمن هنا في ان مثل هذا النوع من التقارير تكون فيه جملة الإختيار ثابتة بحيث انه لو كانت جملتك هي select * from Table فإن التقرير سوف يطبع دائما جميع البيانات في الجدول دون اي شروط , اما اذا اردت ان تطبع البيانات مع شروط مثلا where price>10 فانك سوف تضطر الى استخدام البارامترات لكي تطبع وهو امر يصعب تطبيقه للمبتدئين.
الحل الثاني هو ال Push Model وفكرته تتلخص في ان التقرير يقوم بطباعة البيانات مع الشروط وبدون بارمترات او بدون ان تفتح حتى قاعدة البيانات , الامر الذي يعتبر حلا لأمن قاعدة البيانات وعزلها عن التقارير, ويكون ذلك بأن ترسل نسخة من داتا ست DataSet الى التقرير فيقوم التقرير بطباعتها .
لعمل تقرير بطريقة ال Push Model اتبع التالي:
انشئ كائن جديد من داتا ست
DatSet ds = new DataSet(); اختر الطريقة المناسبة لملئ الداتا ست (ساستخدم هنا محول البيانات SqlDataAdapter ( String sql=”select * employee where em_id=1”; SqlDataAdapter da= new SqlDataAdapter (sql, con); da.Fill(ds);
الآن نفذ هذه الخطوة مرة واحدة فقط , وهي عبارة عن توليد ملف xml يحتوي على بنية الجدول الذي قمنا باللإختيار منه , وسيفيدنا في عمل التقرير
ds.WriteXml(@"c:\employee.xml",XmlWriteMode.WriteSchema);
قم بانشاء Report Document object ReportDocument oRpt; oRpt=new ReportDocument(); oRpt.Load(@”c:\employee.rpt”, openReportMethod.OpenReportByTempCopy);
قم باضافة اداة من لوحة الأدوات اسمها Crystal Report Viewer
قم باسناد مصدر التقرير الى الداتا ست
بعد ذلك قم باسناد عارض التقارير crystal report viewr الى مستند التقرير orpt كما يلي:
oRpt.SetDataSource(ds); crystalReportViewer1.ReportSource=oRpt;
وبهذا نكون قد انتهينا من الجزء الاول وهو اعداد البرنامج , بقي الجزء الثاني
وهو انشاء ملف التقرير: لعمل ملف تقرير جديد قم بالتالي: من قائمة solution Explorer اضغط على add --- crystal reprort<----new item< اختر using the report expert
ستظهر لك نافذة تسالك عن مصدر البيانات للتقرير , اختر more data sources ثم ADO.NET
ستظهر لك نافذة تسالك عن مكان الملف ال xml والذي يحتوي على هيكلة الجدول Table Schema وهو الملف الذي ولدته اول مرة بعد ملىء الداتا ست.
اختر الملف
سيظهر لك اسم الجدول على اليمين , تابع بناء الجدول بالضغط على next
بعد الضغط على finish يكون التقرير جاهزا , قم بتشغيل البرنامج وطلب التقرير.
أنس بحصاص
anasbahsas@hotmail.com