السلام عليكم ورحمة الله وبركاته
انا أعرف انا الكيستال ريبورت يعرض بيانات بعد ربطه بداتا بيس معينه
السؤال هل استطيع ان اعرض في الكريستال ريبورت اشياء مخزنة في متغيرات
arrayمثل
وليس في داتا بيس
وشكرا لكل من تكرم بالاجابة على استفساري مقدما.
السلام عليكم ورحمة الله وبركاته
انا أعرف انا الكيستال ريبورت يعرض بيانات بعد ربطه بداتا بيس معينه
السؤال هل استطيع ان اعرض في الكريستال ريبورت اشياء مخزنة في متغيرات
arrayمثل
وليس في داتا بيس
وشكرا لكل من تكرم بالاجابة على استفساري مقدما.
اخي تجربتي الشخصية في مثل هذه المسالة
انا شخصيا اقوم بتركيب محتويات Array او اي شيئ آخر داخل Data set أو dataTable انا انشئها من البداية و اعرفها مينيوال
و من ثم امررها للكرستل ريبورت
<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">
اخي الكريم assaf abdullah
شكرا على المساعدة
بس ياليت ترفق كلامك بمثال او تشرح الطريقة
لانني مبتدئة نوعا ما في الفيجوال
وجزاك الله الجنة
السلام عليكــم ورحمـة الله وبركاتــه ،،
حمل المثال سوف تجد داتا ست رسمية
مرريها انت الى الكرستل ريبورت
تم تعديل هذه المشاركة بواسطة assaf_abdullah في 26 يوليو 2009 في 12:22
<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">
وعليكم السلام ورحمة الله
تم التحميل
والف شكر لك اخي assaf abdullah على المساعدة
ويعطيك ربي العافية
اسفة اخ assaf
ادري اني ثقلت بس جربت امرر الداتا سيت الى الريبورت
بس يطلع لي exception
The report has no tables.
ايش الحل ولك جزيل الشكر
اخي لا اعلم ان كان هذا الحل مثالي ام حل عبيط لكنه سوف يحلها اكيد باذن الله
استخدم فكرة XML Table عموما سوف ابعث لك الطريقة ان كنت لا تعلمها
<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">
البروجكت حقي لازم يعرض قيم مخزنة في array
داخل الكريستال ريبورت
ياليت اذا تعرف كيف اعملها ترفق لي مثال موضح
واذا تنفع فكرة XML Table
لحل مشكلتي ياليت ترسل لي الطريقة
ولك جزيل الشكر
اخي اليك الحل XML تتبع الصور لتعرف كيف تضيفه
انظر الى المثال المرفق , و انشاء لله اشرحه لك ان لم تفهمه في وقت لا حق
تم تعديل هذه المشاركة بواسطة assaf_abdullah في 29 يوليو 2009 في 16:22
<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">
اخ assaf
شكرا لك
لكن عندما حملت المثال المرفق كذا مرة يظهر لي اخطاء
فهل يوجد في المثال اخطاء او ظهرت بسبب التحميل؟
وياليت ترفق الطريقة متى ماكان عندك وقت
ادري اني ثقلت بس والله تعبت وانا اسوي سيرش بالنت ما لقيت الاجابة
اللي تنفع لحل مشكلتي
وجزاك الله خيرا
اخي يجب عليك اضافة مكتبات الكرستل ريبورت Add Referance
نسيت ارفقلك الصورة سامحني , لكن طريقة تحميل XML في الكرستل ريبورت عندما يشتغل عندك البرنامج ارفقها لك بالصور
تم تعديل هذه المشاركة بواسطة assaf_abdullah في 30 يوليو 2009 في 07:56
<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">
اخي assaf
اضفت refrence مثل ما قلت بس ما لقيت
crystal reports .net framework 2.0
حاولت ابحث في النت عنها مالقيتها
والحين يطلع لي
Error 1 'SetParameterValue' is not a member of 'CrystalDecisions.CrystalReports.Engine.ReportClass'.
Error 2 'ViewTimeSelectionFormula' is not a member of 'CrystalDecisions.Windows.Forms.CrystalReportViewer'.
ولمن حاولت احذف الخطا و اسوي run للبرنامج
يطلع لي file not found exception
اتوقع XML file
السلام عليكــم ورحمـة الله وبركاتــه ،،
اخي المكتبة التي قلت لي عنها غير ضرورية و انا اصلا ضفتها بالغلط لذلك قد عدلت لك المثال , انسا صور المكتبات بدي ابعتلك صورة جديدة , كل المكتبات بالفيرجن سوف تجدها بالصورة و لا يهمك اخي نحن في الخدمة
<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">
وعليكم السلام ورحمة الله
اخي assaf
البرنامج رهيب وكلشي فيه ok
ومشكور على جهدك
بس لمن نزلته وسويت له run
طلع لي fileNotFoundException was unhandeled
Could not load file or assembly 'CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
على الرغم من اني نزلت نفس refrence ونفس الفيرجن اللي قلت
شكله حتى البرنامج العدل تطلع عندي فيه اخطاء ما ادري ليه!!!
اخي و انا ايضا عندما حملت البرنامج على جهاز آخر غير الذي برمجت عليه هذا المثال لم يعمل و ظهر نفس الـ Error لذلك عدلت المثال الاول المكتبة 'CrystalDecisions.Shared, Version=10.5.3700.0;مكتبة الـ Version .Net 2008 و البرنامج Net 2005. لذلك لو لا حظت في آخر صورة انني قمت بحذف مكتبة 'CrystalDecisions.Shared, Version=10.5.3700.0 من الريفرنس و اضافة مكتبة CrystalDecisions.Shared, Version=10.2.3
تم تعديل هذه المشاركة بواسطة assaf_abdullah في 1 أغسطس 2009 في 07:48
<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">
ياااااااااي
اخيرا ضبط
مشكور اخي assaf على جهودك المبذوله
وجعله الله في ميزان حسناتك
والله يزيدك علما على علمك وينفعك فيه دنيا واخره
لكن عندي طلب اذا عندي سؤال في الكود عادي اسال
اذا وقتك يسمح طبعا
لانك ما شاء الله شكلك محترف في البرمجة
لا ما في مشكلة اي سؤال أنا جاهز اكيد ربما لا تعرف كيف تضيف الـ Xml Table على Crystal Report
اقتباسلانك ما شاء الله شكلك محترف في البرمجة
شكرا لك على هذا الاطراء , لكني ما زلت اجهل الكثير
<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">
اخي assaf
مثل ما تفضلت فانا لا اعرف xml table
فهلا تفضلت في شرح
ماهو xml table
وكيف اضيفه
وماهو فائدته في هذه application
وجزيت خيرا
كل الذي قمت به هو
تحويل DataSet إلى جدول بيانات XML التي قدمتها الى Crystal Report
و Xml Table هنا فقط هي مخزن مأقت لحفظ البيانات فيه , و كان بامكانك الاستغناء عنه ان استخدمت جدول Temp في قاعدة البانات خاصتك
اول خطوة لتضيفه على ال Crystal Report هو رسم Xml و من ثم اضافته الى الـ Crystal Report كما في الصور الملحقة
بالغة العربية الفصحى الكود مكتوب في الطباعة كالتالي
Cursor = Cursors.WaitCursor
Dim crpViewer As New frmReprotViewer
Dim crp As CrystalDecisions.CrystalReports.Engine.ReportClass
crp = New CrystalReport1
ds.WriteXml(Application.StartupPath + "\" + "XmlTable.xml")
crp.SetDataSource(ds)
crp.SetParameterValue("SendAny", "لا تتردد في السؤال")
Cursor = Cursors.Default
crpViewer.crptViewer.ReportSource = crp
crpViewer.ShowDialog()لرسم Xml Table
اعمل Comment
للجمل البرمجية التي تلي جملة انشاء و تعبئة Xml كالتالي
Cursor = Cursors.WaitCursor
Dim crpViewer As New frmReprotViewer
Dim crp As CrystalDecisions.CrystalReports.Engine.ReportClass
crp = New CrystalReport1
ds.WriteXml(Application.StartupPath + "\" + "XmlTable.xml")
'crp.SetDataSource(ds)
'crp.SetParameterValue("SendAny", "لا تتردد في السؤال")
'Cursor = Cursors.Default
'crpViewer.crptViewer.ReportSource = crp
'crpViewer.ShowDialog()ثم تتبع صور الاضافة في المرفقات
------
---
-
ثم ارجع الكود كما كان كالتالي
Cursor = Cursors.WaitCursor
Dim crpViewer As New frmReprotViewer
Dim crp As CrystalDecisions.CrystalReports.Engine.ReportClass
crp = New CrystalReport1
ds.WriteXml(Application.StartupPath + "\" + "XmlTable.xml")
crp.SetDataSource(ds)
crp.SetParameterValue("SendAny", "لا تتردد في السؤال")
Cursor = Cursors.Default
crpViewer.crptViewer.ReportSource = crp
crpViewer.ShowDialog()هذا كل شيئ و لكن لا تنسي ان الامور ليست صعبة و لا يخوفك الاسم Xml فقط هو هنا Temp Table يحتوي على بيانات ds
سلام
<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">
اخي assaf
مشكور على هذا الشرح الرائع والوافي
وجزاك الله خير الجزاء
;) نحن في خدمة الطيبين
ولا يهمك اخي نحن في الخدمة
<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">