|
الدرس 17 Crystal Report
|
|
03-02-2010, 06:06 PM
مشاركات: #1
|
|||
|
|||
|
السلام عليكم
تحدثنا في الدرس السابق عن انشاء تقرير بسيط...يعرض البيانات من الجدول CustomerData. الان نريد اضافه امكانيه عرض بيانات الجدول OrderData ذلك الجدول الذي يحتوي على قيم الاوامر و البضاعه المطلوبه والعميل الذي قام بعمل الطلب... المطلوب هو عرض الاوامر التي اجراها العملاء ومجموعها في شكل مجموعات ترتيب البيانات تنازلي حسب قيمه الاوامر عرض رسم بياني يمثل نصيب كل عميل من الاوامر الكليه بشكل اساسي يوفر لنا الجدول OrderData البيانات المطلوبه عن الاوامر التي قام بها العملاء لذا فالذي سنقوم به في التقرير بسيط جداً الحقيقه اننا سنقوم عرض البيانات - ترتيبها وفقاً لمجموعات -وعرض رسم بياني ... الان افتح المشروع السابق و اضف اليه ملف تقرير جديد وقم بتحديد تقرير فارغ كما تعلمت في الدرس السابق.. من Field explorer قم بأضافه مصدر البيانات الموجود بالمشروع (ال DataSet) وحدد الجدول OrderData قم بأضافه الحقول CustomerName و OrderNumber و OrderDate و ItemNumber و OrderValue للتقرير بالسحب و الافلات كما تعلمت..في الدرس السابق. الان سنقوم بضم كل الاوامر التي قام بها العميل في مجموعه مستقله من Field explorer اضغط على Group name Field ثم بالزر الايمين للفاره لتظهر لك القائمه المنسدله اختار منها Insert Group من النافذه Insert group من القائمه المنسدله الاولى اختار OrderData.CustomerName ثم اضغط ok ![]() قم بحفظ المشروع و قم بتجربه ------------------------------------------------------------------------------------- الان سنقوم بأضافه حقل مجموع الحقول Total Field حيث سنقوم بجمع قيم الحقل OrderValue (قيمه الامر الحقل في الجدول OrderData) في كل مجموعه.. طبعاً لابد ان يكون نوع الحقل OrderValue رقمي لكي يقبل الحساب (الحقل في قاعده البيانات ليس رقمي قم بتعديل نوعه في ال DataSet من string الى decimal) الان دعنا ننسق الحقل OrderValue بحيث يناسب تنسيق العمله Currency. يمكنك عمل ذلك من خلال الضغط بالزر الايمن للفاره على الحقل المراد تنسيقه و اختار Format object > ثم من النافذه Format Editor التبويب Number علم على الاختيار Display Currency Symbol يمكنك بالتأكيد اضافه مزيد من التنسيق من خلال الامر Customize. الان انت مستعد لأضافه حقل المجموع اضغط على الجزئ GroupFooterSection1 او تذيل المجموعه وبالزر الايمن للفاره اختار Insert > Summary ليظهر لك النافذه Insert Summary اتبع التعليمات كما بالصوره ![]() قم بحفظ المشروع و قم بتجربه الان نريد اضافه رسم بياني قائم على حقل مجموع قيمه الاوامر (الحقل الذي اضفته في الخطوه السابقه) اضغط بالزر الايمن للفاره في القسم Section1(report Header ومن القائمه المختصره اختار Insert ثم chart لتظهر لك نافذه Chart expert قم بضبط الاعدادات كما بالشكل : التالي ![]() ============================================ الان نريد اضافه عنوان للتقرير يمكن اضافه حقل نص Text object ليحتوي النص الذي تريده لكنه سيكون ثابت لا يتغير الا من خلال استبدال الملف .crt او يمكن تخصيص حقل في قاعده البيانات لعنوان الشركه وربطه بالتقرير بشكل عادي او يمكن استخدام حقل محتوى تقريره متغير ويمكن التحكم فيه في وقت التشغيل وهو ال Parameter Field لأضافه حقل Parameter field من نافذه Field Explorer اختار Parameter field ثم بالزر الايمن للفاره واختار New اتبع التعليمات كما بالصوره: ![]() اللي حصل اننا انشئنا حقل Parameter جديد نوعه محدد وهو DiscreteValue بمعنى قيمه واحده الاّن قم بسحب العنصر وأضفه للتقرير ربما في القسم report Header او عنوان التقرير الان هذا الحقل ستتغير قيمته عند فتح البرنامج وعرض التقرير لذلك فأننا سنوفر الكود الذي سيقوم بتلك العمليه... في الفورم الذي سيعرض التقرير في حدث التحميل : الطبيعي ان كود عرض التقرير يكون كالتالي: PHP كود: Me.OrderDataTableAdapter.Fill(Me.SalesDataSet.OrderData)لو شغلت البرنامج على هذه الحاله فعند عرض التقرير ستظهر شاشه تسأل المستخدم عن ادخال بيانات لل Parameters وهذا ليس ما نريده. الان سنوفر الكود الذي سيقوم بتوفير المدخلات للParameter سنقوم بذلك من خلال استدعاء الفصيله ParameterFields لاحظ ان تلك الفصيله تنتمي لفضاء الاسماء (اقصد مكتبه ال .dll منه لله اللي في بالي) اسمها CrystalDecisions.Shared لذلك سيتوجب عليك استيراد تلك المكتبه من خلال اضافه مرجع لها (راجع الدرس التاسع الفصائل) في جزئ التصريحات العامه ضع الكود التالي PHP كود: Imports CrystalDecisions.Shared الان يجب انشاء نسخه من الفصيله ParameterFields كالتوضيح التالي الاتي للتوضيح فقط: كود: Dim parameterField As New ParameterFieldsال ParameterFields هي عباره ما يسمى مجموعه او Collection (اعتبرها مصفوفه وريح الدماغ) مصفوفه قيم Parameters حيث يمكن اضافه كافه ال Parameters التي يحتاجها التقرير لها... كالتوضيح التالي: parameterField.Add("Titel", ParameterValueKind.StringParameter, DiscreteOrRangeKind.DiscreteValue) حيث استدعينا الاسلوب Add. الخاص بالفصيله parameterField وكما ترى فأن الاسلوب Add. يحتاج المدخلات كود: [b]Name as stringالان اصبح لدى الكائن او المصفوفه parameterField عنصر parameter اسمه Titel اذا اردت الوصول لذلك الحقل يمكن استدعائه كالتالي كود: [align=left][size=x-large][b] parameterField(0)[/b][/size][/align]بقى ان نضيف قيمه نصيه قيمه الParameter التي ستظهر للمستخدم... يمكن عمل ذلك من خلال الاسلوب add. الخاص بالكائن parameterField مع تحديد رقم العنصر الذي سيضاف اليه ال النص كالتالي (parameterField(0 لكن تلك القيم لن تتضاف بطريقه نص مباشر ليس مثل المصفوفه لكن سنضيف قيمه من النوع ParameterDiscreteValue التي تنتمي ايضاً للمكتبه CrystalDecisions.Shared لذا اولاً يجب انشاء نسخه للمكتبه ParameterDiscreteValue كالتالي: PHP كود: Dim Value As New ParameterDiscreteValue ثم بعد ذلك تحديد قيمه التي ستضهر في حقل التمرير في التقرير PHP كود: Value.Value = "اوامر العملاء" اخيراً الاسلوب add. الخاص بالكائن parameterField مع تحديد رقم العنصر الذي سيضاف اليه ال النص كالتالي PHP كود: parameterField(0).CurrentValues.Add(Value) اخيراً تمرير القيم او ال Parameter الى كائن العرض CrystalReportViewer1 كالتالي PHP كود: CrystalReportViewer1.ParameterFieldInfo = parameterField الكود الكامل للبرنامج سيكون كالتالي: PHP كود: 'استيراد المكتبهاخيراً تبقى ان تحصل على المشروع جاهز و كذلك ملف التقرير .crt WindowsApplication1.rar \والسلام عليكم 01100001-00101101-01101100-00101101-01101100-00101101-01100001-00101101-01101000
|
|||
|
|
03-03-2010, 12:27 AM
مشاركات: #2
|
|||
|
|||
|
RE: الدرس 17 Crystal Report
مواضيع جبارة بدون شك
اظن نحتاج لمراجعة مواضيعك من البداية يا بشمهندس مصطفى تعلم كيفية التحميل من مواقع التحميل من هنا http://damanhour.net/mb/thread-3042.html ************************ تعلم كيف تحرق اسطوانات الايزو من هنا http://damanhour.net/mb/thread-3196.html *********************** |
|||
|
|
03-03-2010, 05:29 PM
مشاركات: #3
|
|||
|
|||
|
RE: الدرس 17 Crystal Report
السلام عليكم
اشكرك جزيلاً اخي badrr313 على فكره انا لست مهندس انا طالب بالتجاره انت دراستك في اي مجال او خريج ايه؟ |
|||
|
|
|








