اخر عشرة مواضيع بالمنتدى
80برنامج لجميع انواع الموبيلbeshoy بواسطة: beshoy sa3ed | نكت قبيحه جدا جدا ممنوع دخول البنات بواسطة: m7mod | الدكـاتـره والشنـط الـجـلـد بواسطة: m7mod | جميع أهداف الألمانى توماس موللر الذى حصل على لقب الهداف فى كأس العالم 2010 بواسطة: m7mod | تعلم كيف تتغلب علي قلة الثقة بالنفس بواسطة: mba degree | تعلم مهارات الاتصال الفعال بواسطة: mba degree | مهارات الاتصال الفعال بواسطة: mba degree | كيف تكون شخص منظم و تترك انطباع جيد عند الاخرين بواسطة: mba degree | كيف تنمي مهارة الابداع في شخصيتك بواسطة: mba degree | مهارات ااقناع بواسطة: mba degree
Tags: Crystal, Report,
موضوع مغلق 
 
تقييم الموضوع:
  • 0 اصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس 17 Crystal Report
03-02-2010, 06:06 PM
مشاركات: #1
Rainbow الدرس 17 Crystal Report
السلام عليكم

تحدثنا في الدرس السابق عن انشاء تقرير بسيط...يعرض البيانات من الجدول 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)
        
Dim CR1 As New CrystalReport2
        CR1
.SetDataSource(Me.SalesDataSet)
        
CrystalReportViewer1.ReportSource CR1 


لو شغلت البرنامج على هذه الحاله فعند عرض التقرير ستظهر شاشه تسأل المستخدم عن ادخال بيانات لل 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
وهو اسم الParameter كما وضعته بالتقرير وهو نص

ValueType as CrystalDecisions.Shared ParameterValueKind
وهو نوع الوسيط او ال Parameter


DiscreteOrRangeKind
وهو نوع السؤال : ضعه كما وضعته بالتقرير DiscreteValue
[/b]


الان اصبح لدى الكائن او المصفوفه 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 كود:
'استيراد المكتبه
Imports CrystalDecisions.Shared
Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '
ملئ كائن البيانات
        Me
.OrderDataTableAdapter.Fill(Me.SalesDataSet.OrderData)
        
Dim CR1 As New CrystalReport2


        
'انشاء نسخ من الفصائل المستهدفه
        Dim Value As New ParameterDiscreteValue
        Dim parameterField As New ParameterFields

        '
تحديد قيمه التي ستضهر في حقل التمرير في التقرير
        Value
.Value "اوامر العملاء"


        'اضافه عنصر جديد للمجموعه 
        '
parameterField
        parameterField
.Add("Titel"_
        ParameterValueKind
.StringParameter_
        DiscreteOrRangeKind
.DiscreteValue)

        
'اضافه القيمه
        parameterField(0).CurrentValues.Add(Value)
        '
تمرير القيمه للعرض
        CrystalReportViewer1
.ParameterFieldInfo parameterField

        ربط التقرير
        CR1
.SetDataSource(Me.SalesDataSet)
        
CrystalReportViewer1.ReportSource CR1
    End Sub 

اخيراً تبقى ان تحصل على المشروع جاهز و كذلك ملف التقرير .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

على فكره انا لست مهندس انا طالب بالتجاره
انت دراستك في اي مجال او خريج ايه؟

عرض جميع مشاركات هذا العضو
موضوع مغلق 


المواضيع المحتمل ان تكون متشابهة.
الموضوع: الكاتب الردود: المشاهدات: اخر رد
Rainbow الدرس 22 Win32 API DataType مصطفى الشريف 5 553 06-30-2010 06:18 PM
اخر رد: مصطفى الشريف
Rainbow الدرس 21 Win32 API نظره للغه البرمجه C مصطفى الشريف 0 95 06-29-2010 05:32 PM
اخر رد: مصطفى الشريف
Rainbow الدرس 20 مقدمه Win32 API and .Net مصطفى الشريف 2 657 04-21-2010 03:38 AM
اخر رد: مصطفى الشريف
Rainbow الدرس 18 توزيع البرامج مصطفى الشريف 0 566 03-06-2010 12:41 AM
اخر رد: مصطفى الشريف
Rainbow الدرس 16 Crystal Report مصطفى الشريف 2 944 02-27-2010 03:42 PM
اخر رد: مصطفى الشريف
  الدرس 15 التعامل مع البيانات بشكل مرئي مصطفى الشريف 1 1,203 02-05-2010 04:27 AM
اخر رد: مصطفى الشريف
  الدرس 14 ADO.Net مصطفى الشريف 1 1,183 11-27-2009 09:00 PM
اخر رد: مصطفى الشريف
Rainbow الدرس 13 ADO.Net مصطفى الشريف 1 765 11-13-2009 06:45 PM
اخر رد: مصطفى الشريف
Rainbow الدرس 12 ADO.Net مصطفى الشريف 1 1,411 10-25-2009 12:50 AM
اخر رد: مصطفى الشريف
Rainbow الدرس العاشر التعامل مع النماذج مصطفى الشريف 0 1,135 10-03-2009 10:36 PM
اخر رد: مصطفى الشريف
Rainbow الدرس التاسع الفصائل مصطفى الشريف 2 842 09-28-2009 04:48 PM
اخر رد: مصطفى الشريف
Rainbow الدرس الثامن الدوال و الاجرائات2 مصطفى الشريف 2 1,425 09-07-2009 10:52 PM
اخر رد: مصطفى الشريف
Rainbow الدرس السابع تحويل انواع البيانات مصطفى الشريف 0 694 08-07-2009 03:37 AM
اخر رد: مصطفى الشريف
Rainbow الدرس السادس توجيه الكود مصطفى الشريف 0 640 08-03-2009 04:20 PM
اخر رد: مصطفى الشريف
Rainbow الدرس الخامس المتغيرات والثوابت وانواع البيانات2 مصطفى الشريف 0 1,035 07-18-2009 01:08 AM
اخر رد: مصطفى الشريف

التنقل السريع:

إتصل بناشباب دمنهورالعودة للأعلىالعودة للمحتوىالأرشيفخلاصات RSS
Bookmark and Share Free counter and web stats Powered by  MyPagerank.Net