المحتوى التالي هو رمز البرنامج:
قبل أن ندرس Crystal Reports في VS.Net، كنت أنا وصديقي مهتمين جدًا بكيفية إضافة هذه الأشياء المعقدة إلى تطبيق الويب الخاص بنا. وبعد مرور أسبوع، وبعد قراءة الكثير من مستندات "HOWTO"، نجحنا في إضافة بعض التقارير البسيطة إلى برنامج Asp.net الخاص بنا وحصلنا على بعض النصائح.
تعلمك هذه المقالة كيفية استخدام Crystal Reports في تطبيقات الويب .Net، ويمكن أن تساعدك أيضًا على تجنب الانعطافات في عملية التعلم. من أجل الحصول على أفضل النتائج، يجب أن يكون لدى القراء بعض المعرفة الأساسية حول الوصول إلى قاعدة بيانات Asp.Net وتجربة التطوير باستخدام VS.Net.
مقدمة
يمكن الحصول على تقارير Crystal بعدة طرق، أحدها هو استخدام VS.Net لإنشائها، مما يوفر نموذجًا غنيًا جدًا يسمح لنا بتشغيل الخصائص والأساليب في وقت التشغيل. إذا كنت تستخدم VS.Net لتطوير برامج .Net، فلن تحتاج إلى تثبيت برامج أخرى لأنها مضمنة بالفعل في VS.Net.
ميزة:
تتمتع VS.Net Crystal Reports بالمزايا الرئيسية التالية:
تطوير التقرير السريع
القدرة على التصدير إلى الرسوم البيانية التفاعلية المعقدة
يمكن استخدامه في WebForm مع عناصر تحكم أخرى
قادر على تصدير التقارير ديناميكيًا إلى .pdf و.doc وxls وhtml وrtf وتنسيقات أخرى
بناء:
تشكل بعض المكونات البنية ذات المستويين لتقارير Crystal. تطبيقات الويب المطلوبة هي:
عميل:
يحتاج العميل فقط إلى متصفح يمكنه الوصول إلى التقرير المضمن في صفحة aspx.
الخادم:
- محرك التقارير الكريستالية (CREngine.dll)
ويمكنه إكمال بعض المهام، مثل دمج البيانات في ملفات التقارير، وتحويل التقارير إلى تنسيقات أخرى، وما إلى ذلك. بفضل محرك التقارير على وجه التحديد، يمكن تحويل Crystal Reports في Asp.Net إلى تنسيق HTML عادي.
- مصمم التقارير الكريستالية (CRDesigner.dll)
يتم إنشاء تقارير Crystal في المصمم، حيث يمكنك تصميم العناوين وإدراج البيانات والصيغ والمخططات والتقارير الفرعية وما إلى ذلك.
- ملف تقرير .rpt
الخطوة الأولى في تنفيذ التقرير هي إنشاء هذا التقرير في واجهة Crystal Report Designer. وقد قدمت Microsoft بعض الأمثلة الجاهزة بتنسيق .rpt في التثبيت الافتراضي.
- مصدر البيانات
تعتمد طريقة الحصول على قاعدة البيانات من ملف .rpt على اختيارك للطريقة. يمكنك اختيار السماح لـ Crystal Reports بتحديد البيانات نفسها دون استخدام أي تعليمات برمجية أو يمكنك اختيار تجميع DataSet يدويًا ثم نقلها إلى ملف التقرير. .
- التحكم في نموذج الويب لعارض التقارير Crystal (CRWebFormViewer.dll)
إن عنصر تحكم عرض التقارير Crystal هو عنصر تحكم WebForm، والذي يمكن اعتباره حاوية تقوم بتخزين التقارير في صفحة .aspx. ملاحظة: في بعض العمليات المعقدة، قد لا يكون خادم التقارير وخادم الويب موجودين على نفس المضيف الفعلي، ويقوم خادم الويب بإرسال طلب HTTP إلى خادم التقارير. يمكن أيضًا تنفيذ تقارير Crystal كخدمة ويب.
يمكن تحقيق جلب البيانات من Crystal Reports في وضع التنفيذ باستخدام الطرق التالية:
- وضع السحب:
عند الطلب، تقوم Crystal Reports بالاتصال مباشرة بقاعدة البيانات بناءً على برنامج التشغيل المحدد وتقوم بتجميع البيانات.
- وضع الدفع:
في هذا الوقت، يجب على جدول التطوير كتابة التعليمات البرمجية الخاصة به لتوصيل البيانات وتجميع DataSet، ونقلها إلى التقرير في نفس الوقت. في هذه الحالات، يمكنك زيادة أداء التقرير إلى الحد الأقصى باستخدام مشاركة الاتصال وتحديد حجم مجموعة السجلات.
نوع التقرير:
يمكن لـ Crystal Report Designer تضمين التقارير مباشرة في المشروع أو استخدام كائنات تقرير مستقلة.
- التقارير المكتوبة بقوة:
عند إضافة ملف تقرير إلى مشروع، فإنه يصبح تقريرًا "مكتوبًا بقوة". في هذه الحالات، سيكون لديك القدرة على إنشاء كائن التقرير مباشرة، مما سيؤدي إلى تقليل بعض التعليمات البرمجية ويمكن أن يوفر بعض الأداء.
- تقرير غير مكتوب:
التقارير هنا لا يتم تضمينها بشكل مباشر في المشروع ولذلك تسمى التقارير "غير المكتوبة". في هذه الحالة، يجب عليك إنشاء مثيل باستخدام كائن "ReportDocuemt" لتقارير Crystal واستخدام التقرير "يدويًا".
أشياء أخرى يجب ملاحظتها
- على الرغم من أن Crystal Report Viewer يحتوي على بعض الميزات الرائعة مثل التكبير/التصغير، والتنقل بين الصفحات، وما إلى ذلك. لكنه لا يوفر وظيفة الطباعة، يجب عليك استدعاء وظيفة الطباعة في المتصفح.
- إذا لم يتم تسجيل Crystal Report في VS.Net، فيمكن استخدامه 30 مرة فقط، وبعد 30 مرة، لن يكون من الممكن استخدام وظيفة "الحفظ". لتجنب ذلك، يجب عدم تسجيل هذا المنتج هنا على http://www.crystaldecisions.com/ . (يبدو أن هذا ليس هو الحال. يبدو أنه قادر على استخدامه لفترة طويلة دون تسجيل، ولكن لا يمكن تقديم الدعم)
- التثبيت الافتراضي لـ Crystal Reports يمكن أن يدعم 5 مستخدمين فقط لدعم المزيد من المستخدمين، يجب عليك شراء ترخيص من http://www.crystaldecisions.com/ .
دعونا نشعر بذلك - باستخدام ملف Crystal Report الجاهز في Asp.net 1) اسحب عنصر التحكم Crystal Report Viewer (عارض التقارير Crystal) من شريط أدوات WebForm إلى صفحة .aspx.
2) استدعاء نافذة خصائص عنصر التحكم Crystal Report Viewer
3) انقر فوق الزر [...] لعرض خاصية "ربط البيانات"، وستنبثق نافذة DataBinding.
4) حدد "مصدر التقرير" من منطقة "الخصائص القابلة للربط" على اليسار
5) حدد زر الاختيار "Custom Binding Expression" وحدد اسم الملف ومسار الملف .rpt في النافذة السفلية على اليمين، على سبيل المثال: "C:\Program Files\Microsoft Visual Studio.NET\ Crystal Reports\Samples\Reports\General Business\World Sales Report.rpt" ثم "موافق"
ملاحظة: يتم إنشاء الملف "World Sales Report.rpt" أثناء تثبيت VS.Net. إذا قمت بتحديد دليل آخر أثناء عملية التثبيت، فمن الأفضل التأكد من صحة المسار في هذا الوقت.
تقوم الخطوات المذكورة أعلاه بالفعل بإدراج الكود التالي في ملف Asp.Net:
إلى جانب:
معرف = "كريستال ريبورتفيوير1"
runat = "الخادم" العرض = "350 بكسل" الارتفاع = "50 بكسل"
مصدر التقرير = '''>
ملاحظة: النمط الذي تم إنشاؤه بواسطة ReportSource في الكود الذي تم إنشاؤه تلقائيًا في إصدار VS.Net الرسمي الخاص بي ليس هكذا، فهو:
مصدر التقرير = ""
هذا خطأ وستظهر رسالة خطأ. هناك خطأان:
يجب تعديله يدويًا وفقًا للتنسيق المقدم في هذه المقالة، ويمكن اعتبار ذلك خطأً في VS.Net.
6) استدعاء أسلوب DataBind في أسلوب Page_Load. (الرمز هو VB.Net)
Page_Load فرعي خاص (مرسل ByVal كـ System.Object، ByVal e كـ System.EventArgs)
ربط البيانات ()
نهاية الفرعية
7) احفظ وتجميع صفحتك. الآن، لديك صفحة WebForm مع تقارير Crystal المضمنة بداخلها.
ملاحظة: في التطوير الفعلي، سيكون هناك خطأ في عدم إمكانية الوصول إلى دليل inetsrv في البداية، والحل هو تغيير سمات الأمان للدليل بحيث يكون لدى المستخدم أذونات قابلة للكتابة. Flying Knife وجدت أن الحلول التي يقدمها نظام .Net غير مجدية، وربما يكون ذلك بسبب استخدامي لنظام التشغيل Windows.Net.
استخدام تقارير Crystal في Asp.Net (الجزء الثاني)
www.dotnet8.com 6-9-2002 DotNet Bar
المحتوى التالي هو رمز البرنامج:
باستخدام وضع السحب سوف نستخدم الخطوات التالية لتنفيذ تقارير Crystal من خلال وضع السحب
1. قم أولاً بإنشاء ملف rpt واستخدم واجهة تصميم Crystal Report لإعداد بعض اتصالات البيانات الضرورية.
2. قم بسحب وإسقاط عنصر تحكم CrystalReportViewer إلى صفحة aspx، وقم بتعيين خصائصه لتحديد ملف .rpt الذي أنشأناه في الخطوة السابقة.
3. قم باستدعاء أسلوب DataBind في التعليمات البرمجية.
إنشاء ملف .rpt:
1) انقر بزر الماوس الأيمن فوق "متصفح الحلول" وحدد "إضافة"--"إضافة عنصر جديد"-->"Crystal Report" في القائمة المنبثقة
2) حدد زر الاختيار "كتقرير فارغ" في "مكتبة التقارير الكريستالية" ثم انقر أخيرًا على "موافق".
3) سيظهر هنا مصمم Crystal Report.
4) انقر بزر الماوس الأيمن على "منطقة التفاصيل" في التقرير وحدد "قاعدة البيانات" -> "إضافة/حذف قاعدة البيانات..."
5) في النافذة المنبثقة "Database Expert"، قم بتوسيع خيار "OLE DB(ADO)"، وستظهر نافذة "OLE DB(ADO)" أخرى.
6) في النافذة المنبثقة "OLE DB (ADO)"، حدد "Microsoft OLE DB Provider for SQL Server" ثم "التالي"
7) حدد خادم المعلومات للاتصال بـ: ASPCN (اكتب اسم جهازك مهما كان)
معرف المستخدم: sa
كلمة المرور:
قاعدة البيانات: الحانات
8) انقر على "التالي" ثم انقر في النهاية على زر "إنهاء".
9) في هذا الوقت يمكنك رؤية قاعدة البيانات التي اخترناها في نافذة "خبير قاعدة البيانات".
10) قم بتوسيع قاعدة بيانات "الحانات"، قم بتوسيع "الجدول"، حدد جدول "المتاجر" وأضفه إلى منطقة "الجداول المحددة"، انقر فوق الزر "موافق".
11) الآن في "متصفح الموارد الميدانية"، سيتم عرض الجدول الذي حددته والحقول الموجودة في الجدول في منطقة "حقل قاعدة البيانات" على اليسار.
12) قم بسحب وإسقاط الحقول المطلوبة في منطقة "التفاصيل" بالتقرير. ستظهر أسماء الحقول تلقائيًا في منطقة "الرأس". إذا كنت تريد تعديل نص الرأس، فيمكنك النقر بزر الماوس الأيمن فوق النص الموجود في منطقة "الرأس"، وتحديد خيار "تحرير كائن النص" وتحريره.
13) احفظ حتى يصبح لدينا ملف Crystal Report.
إنشاء عنصر التحكم CrystalReportViewer
14) قم بالعودة إلى نموذج الويب السابق، وقم بسحب وإسقاط عنصر التحكم Crystal Report Viewer على الصفحة.
15) قم باستدعاء نافذة الخصائص الخاصة بعنصر التحكم Crystal Report Viewer، وحدد منطقة "DataBindings" وانقر فوق [...]
16) في "نافذة ربط بيانات عارض التقارير الكريستالية"، حدد "مصدر التقرير" في "الخصائص القابلة للربط" على اليمين، ثم حدد "تعبير الربط المخصص" في الزاوية اليمنى السفلية لتحديد مسار الملف .rpt.
17) عند هذه النقطة يمكنك رؤية معاينة لملف التقرير المكون من بعض البيانات الافتراضية من عنصر التحكم Crystal Report Viewer.
ملاحظة: في المثال أعلاه، يمكن لـ CrystalReportViewer استدعاء البيانات الحقيقية مباشرة في وقت التصميم لأنه تم حفظ البيانات في هذا الوقت. في هذه الحالة، عندما لا يتم حفظ البيانات في وقت التصميم، لا يمكن عرض البيانات. بدلاً من ذلك، يتم عرض بعض البيانات الوهمية، ويتم تحديد البيانات الحقيقية فقط في وقت التنفيذ.
الكود وراء البرمجة
18) استدعاء أسلوب DataBind في أسلوب Page_Load.
تنفيذ البرنامج الخاص بك
19) إنشاء وتشغيل البرنامج الخاص بك!
يمكنك الآن استخدام بعض الوظائف المضمنة في Crystal Reports مباشرةً على صفحة الويب، مثل التنقل بين الصفحات والتكبير/التصغير وما إلى ذلك.
استخدام تقارير Crystal في Asp.Net (الجزء الثاني)
www.dotnet8.com 6-9-2002 DotNet
[HTML] نستخدم الخطوات التالية لتنفيذ Crystal Reports باستخدام وضع Push:
1. تصميم مجموعة البيانات
2. قم بإنشاء ملف .rpt وقم بتعيينه إلى DataSet الذي تم إنشاؤه في الخطوة السابقة.
3. قم بسحب وإسقاط عنصر تحكم CrystalReportViewer في صفحة aspx وقم بتوصيله بملف rpt السابق.
4. الوصول إلى قاعدة البيانات في التعليمات البرمجية وتخزين البيانات في DataSet
5. استدعاء الأسلوب DataBind.
تصميم مجموعة بيانات
1) انقر بزر الماوس الأيمن على "متصفح الحلول" وحدد "إضافة" -- "إضافة عنصر جديد" --> "مجموعة البيانات"
2) قم بسحب وإسقاط جدول "المتاجر" (الموجود في قاعدة بيانات PUBS) من "SQL Server" في "Server Explorer".
3) في هذا الوقت، سيكون هناك مخطط هيكلي لجدول المتاجر في مجموعة البيانات.
- يحتوي ملف .xsd فقط على مخطط هيكلي، ولكن لن تكون هناك بيانات فيه.
إنشاء ملف .rpt:
4) قم بإنشاء هذا الملف باستخدام الطريقة المقدمة أعلاه، والفرق الوحيد هو استخدام مجموعة بيانات بدلاً من بيانات الاتصال المباشر السابقة.
5) بعد إنشاء ملف .rpt، انقر بزر الماوس الأيمن فوق "التفاصيل" --> "إضافة/حذف قاعدة البيانات"
6) في نافذة "خبير قاعدة البيانات"، قم بتوسيع "بيانات المشروع" (لتحل محل OleDb السابق)، وقم بتوسيع "ADO.Net Data Set" - "DataSet1"، وحدد جدول "المتاجر".
7) أضف جدول "المتاجر" إلى "الجداول المحددة" وانقر على "موافق"
8) استخدم الطريقة في وضع السحب لإنشاء WebForm
إنشاء عنصر تحكم عارض تقارير Crystal
9) قم بإنشاء عنصر تحكم Crystal Report Viewer وقم بتعيين خصائصه وهذا يتوافق مع وضع PULL.
الكود خلف الكود:
10) استخدم الوظيفة الفرعية التالية في طريقة Page_Load:
كود VB.Net :
تقرير فرعي ()
تعتيم myConnection كـ SqlClient.SqlConnection () جديد
myConnection.ConnectionString= "الخادم= (محلي)NetSDK;قاعدة البيانات=الناشرين;Trusted_Connection=yes"
تعتيم MyCommand كـ SqlClient.SqlCommand () جديد
MyCommand.Connection = myConnection
MyCommand.CommandText = "اختر * من المتاجر"
MyCommand.CommandType = CommandType.Text
تعتيم MyDA كـ SqlClient.SqlDataAdapter() الجديد
MyDA.SelectCommand = MyCommand
تعتيم myDS كمجموعة بيانات جديدة 1()
'هذه هي مجموعة البيانات التي نستخدمها في وضع التصميم
MyDA.Fill(myDS، "المتاجر")
"يجب عليك استخدام نفس اسم مجموعة البيانات السابقة الخاصة بك.
تعتيم oRpt كـ CrystalReport1 جديد ()
'"تقرير كريستال ملزم."'
oRpt.SetDataSource(myDS)
'قم بتعيين مصدر التقرير لتقرير Crystal
CrystalReportViewer1.ReportSource = oRpt
نهاية الفرعية
كود سي#:
BindReport باطلة خاصة ()
{
string strProvider = "Server=(local);DataBase=pubs;UID=sa;PWD=";
CrystalReport1 oCR = new CrystalReport1();
Dataset1 ds = new Dataset1();
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSel = "اختر * من المتاجر";
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds،"stores")؛
oCR.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource = oCR;
}
ملاحظة: في الكود أعلاه، عليك ملاحظة أن oRpt هو ملف تقرير "مكتوب بقوة". إذا كنت بحاجة إلى استخدام تقارير "UnTyped"، فيجب عليك استخدام كائن ReportDocument ثم استدعاء ملف التقرير.
قم بتشغيل البرنامج الخاص بك.
11) قم بتشغيل البرنامج الخاص بك
تصدير ملفات التقرير إلى تنسيقات أخرى
يمكنك تصدير ملفات التقرير إلى التنسيقات التالية:
1. PDF (تنسيق المستندات المحمولة)
1. 2. DOC (مستند MS Word)
2. 3. XLS (جدول بيانات MS Excel)
3. 4. HTML (لغة ترميز النصوص التشعبية – متوافقة مع الإصدار 3.2 أو 4.0)
4. 5. يستخدم RTF (تنسيق النص المنسق)
وضع السحب لتصدير التقارير. عند تصدير الملفات التي تم إنشاؤها باستخدام وضع السحب، تفتح Crystal Reports البيانات المطلوبة بدقة، وفيما يلي الكود اللازم لتنفيذ وظيفة التصدير:
كود سي#:
كود VB.Net :
الزر الفرعي الخاص 1_Click (مرسل ByVal كـ System.Object، ByVal e كـ System.EventArgs) يعالج Button1.Click
تعتيم myReport كـ CrystalReport1 = New CrystalReport1()
'ملاحظة: هنا نقوم بإنشاء مثيل Crystal Report قوي الكتابة.
Dim DiskOpts As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptions()
myReport.ExportOptions.ExportDestinationType = CrystalDecisions.[مشتركة].ExportDestinationType.DiskFile
"هذا الخيار مطلوب أيضًا عند التصدير إلى ملفات أخرى
"مثل Microsoft Exchange وMAPI وما إلى ذلك.
myReport.ExportOptions.ExportFormatType = CrystalDecisions.[مشتركة].ExportFormatType.PortableDocFormat
'هنا نقوم بتصديره إلى ملف بتنسيق pdf، ويمكنك أيضًا اختيار أنواع أخرى من الملفات أعلاه
DiskOpts.DiskFileName = "c:Output.pdf"
'إذا لم تحدد الدليل الدقيق، فسيتم حفظ الملف في الدليل [Windows]System32.
myReport.ExportOptions.DestinationOptions = DiskOpts
'لا تحتوي ملفات Crystal Report على خاصية FileName مباشرة، لذا لا يمكنك تحديد اسم الملف المحفوظ مباشرة
'لذلك عليك استخدام كائن DiskFileDestinationOptions وتعيين خاصية DiskFileName الخاصة به
'بالنسبة للمسار الذي تريده، حدد أخيرًا خاصية DestinationsOptions لتقارير Crystal باعتبارها DiskFileDestinationOption أعلاه
تقريري.تصدير ()
'الكود أعلاه سوف يقوم بمهمة التصدير.
نهاية الفرعية
تصدير تقارير Crystal باستخدام وضع PUSH. عندما يتم إنشاء التقرير الذي تم تصديره بواسطة وضع PUSH، فإن الخطوة الأولى هي إنشاء اتصال وتجميع DataSet من خلال البرمجة، وتعيين خاصية SetDataSource للتقرير. الخطوات التالية هي نفسها كما في وضع السحب.
[/HTML]
ملخص استخدام Crystal Reports في بيئة .NET
. تعد Crystal Reports أداة ممتازة لتطوير التقارير عندما كنت أقوم بتطوير نظام إدارة عام، كانت جميع التقارير تستخدم Crystal Reports، مما جعلني أحبها بفضل بساطتها وسهولة استخدامها ووظائفها القوية المزيد الآن سأقدم تقارير Crystal لكل شخص يستخدم الملاحظات.
1. عند استخدام تقرير Crystal Report المدمج، يرجى التسجيل، وإلا يمكنك استخدام
تقرير Crystal Report 30 مرة فقط. رقم التسجيل: 6707437608
كلمة المرور: AAP5GKS0000GDE100DS
2. استخدم CrystalReportViewer للمعاينة
يتيح لك عنصر التحكم CrystalReportViewer عرض تقرير Crystal في التطبيق. تقوم الخاصية ReportSource بتعيين التقرير المطلوب عرضه. بعد تعيين هذه الخاصية، يتم عرض التقرير في العارض. يمكن أن يكون مصدر التقرير ReportDocument، أو مسار ملف التقرير، أو تقريرًا مكتوبًا بقوة.
1. افتح "مربع الأدوات" واسحب CrystalReportViewer إلى النموذج الذي نسميه rptVew.
2. استخدم السحب والإفلات لتغيير حجم Windows Forms Viewer إلى الحجم المطلوب ونقله إلى الموضع المطلوب.
3. عند تشغيل التطبيق، سيتم عرض التقرير في العارض.
3. إنشاء تقرير جديد
1. أشر إلى "إضافة" وانقر على "إضافة عنصر جديد".
2. في مربع الحوار "إضافة عنصر جديد"، حدد Crystal Report من منطقة "القالب"، وقم بتسمية التقرير rptClient، ثم انقر فوق "فتح".
3. في معرض Crystal Report، حدد أحد الخيارات التالية:
· استخدام خبير التقارير — يرشدك خلال عملية إنشاء التقرير ويضيف اختياراتك إلى مصمم التقارير Crystal.
· كتقرير فارغ — يتم فتح برنامج Crystal Report Designer.
· من التقرير الموجود — إنشاء تقرير جديد بنفس تصميم تقرير آخر تحدده.
ملاحظة: تحتوي مكتبة Crystal Report على خبراء يمكنهم إرشادك خلال عملية إنشاء عدة أنواع محددة من التقارير. قد ترغب في الاستعانة بخبير لإنشاء تقريرك الأولي لتحديد طريقة إنشاء التقرير التي تناسب احتياجاتك.
4. انقر فوق الزر "موافق".
إذا اخترت استخدام Report Expert، فسيظهر مربع الحوار Report Expert مع Data Explorer. حدد البيانات المطلوبة لكل مجلد، وأكمل العمليات على واجهة علامة التبويب "خبير التقارير"، ثم انقر فوق "إنهاء" للوصول إلى Crystal Report Designer وتقريرك
4. هل تحتاج إلى تعيين مصدر البيانات ديناميكيًا؟
تتصل تقارير Crystal بقاعدة البيانات من خلال برنامج تشغيل قاعدة البيانات. تتم كتابة كل برنامج تشغيل للتعامل مع نوع قاعدة بيانات محدد أو تقنية الوصول إلى قاعدة البيانات.
نماذج السحب والدفع لتزويد المطورين بطرق الوصول إلى البيانات الأكثر مرونة، تم تصميم برنامج تشغيل قاعدة بيانات Crystal Reports لتوفير نماذج السحب والدفع للوصول إلى البيانات.
نموذج سحب
في نموذج السحب، سيقوم برنامج التشغيل بالاتصال بقاعدة البيانات و"سحب" البيانات حسب الحاجة. عند استخدام هذا النموذج، تتم معالجة كل من الاتصال بقاعدة البيانات وأوامر SQL التي يتم تنفيذها للحصول على البيانات بواسطة Crystal Reports نفسها، دون الحاجة إلى قيام المطورين بكتابة التعليمات البرمجية. استخدم نموذج السحب إذا لم تكن بحاجة إلى كتابة أي تعليمات برمجية خاصة في وقت التشغيل.
نموذج الدفع
في المقابل، يتطلب نموذج الدفع من المطورين كتابة تعليمات برمجية للاتصال بقاعدة البيانات، وتنفيذ أوامر SQL لإنشاء مجموعة سجلات أو مجموعة بيانات تتطابق مع الحقول الموجودة في التقرير، وتمرير الكائن إلى التقرير. تسمح لك هذه الطريقة بوضع مشاركة الاتصال في التطبيق الخاص بك وتصفية البيانات قبل أن تتلقىها Crystal Reports.
4. إنشاء تقارير من مجموعات بيانات ADO.NET وإنشاء
كائنات مجموعة بيانات من قاعدة البيانات
1. قم بإنشاء ملف مخطط جديد في المشروع:
أ. في مستكشف الحلول، انقر بزر الماوس الأيمن فوق اسم المشروع، وأشر إلى "إضافة"، و ثم انقر فوق "إضافة عنصر جديد".
ب. في منطقة الفئات بمربع الحوار إضافة عنصر جديد، قم بتوسيع المجلد، ثم حدد البيانات.
ج. حدد مجموعة البيانات في منطقة القالب.
د. قبول الاسم الافتراضي Dataset1.xsd.
يؤدي هذا إلى إنشاء ملف مخطط جديد (Dataset1.xsd) الذي سيتم استخدامه لاحقًا لإنشاء مجموعة بيانات مكتوبة بقوة. سيظهر ملف المخطط في ADO.NET Dataset Designer.
2. حدد موقع قاعدة البيانات:
أ. في Server Explorer، انقر بزر الماوس الأيمن فوق اتصالات البيانات وحدد إضافة اتصال.
ب في مربع الحوار خصائص ارتباط البيانات، انقر فوق علامة التبويب الموفر، ثم حدد موفرًا (مثل Microsoft OLE DB Provider لـ SQL Server).
ج. انقر فوق علامة التبويب "الاتصال" وحدد موقع قاعدة البيانات الخاصة بك. أدخل معلومات الخادم وتسجيل الدخول عند الحاجة.
د. انقر فوق الزر "موافق".
تظهر الآن قاعدة بياناتك وجداولها وحقولها في Server Explorer ضمن عقدة اتصالات البيانات.
3. في Solution Explorer، انقر نقرًا مزدوجًا فوق Dataset1.xsd (إذا لم يكن العرض النشط بالفعل).
يجب أن يظهر Dataset1.xsd الآن في علامة التبويب مجموعات البيانات.
4. لتخطيط مجموعة البيانات، اسحب الجداول المطلوبة من Server Explorer إلى علامة التبويب Datasets في Dataset1.xsd.
5. انقر فوق Save Dataset1.xsd لحفظ ملف Dataset1.xsd.
6. في القائمة إنشاء، انقر فوق إنشاء لإنشاء كائن مجموعة البيانات للمشروع.
يوفر كائن ADO.NET DataSet وصفًا للبيانات التي يمكن إضافة الجداول منها إلى تقرير Crystal. استخدم خبير قاعدة البيانات في Crystal Report Designer لإضافة جداول من كائنات مجموعة بيانات ADO.NET.
برجاء الاتصال بخبير قاعدة البيانات عند استخدام خبير التقارير لإنشاء تقرير جديد. أو، للوصول إلى خبير قاعدة البيانات من تقرير تم إنشاؤه باستخدام ADO.NET، انقر بزر الماوس الأيمن فوق مصمم التقارير، وأشر إلى قواعد البيانات، ثم انقر فوق إضافة/إزالة قاعدة البيانات.
ربط تقرير بكائن ADO.NET Dataset
1. في Database Expert، قم بتوسيع مجلد بيانات المشروع.
2. قم بتوسيع المجلد "ADO.NET Datasets".
3. حدد كائن مجموعة البيانات المطلوبة.
على سبيل المثال، إذا كنت تستخدم كائن مجموعة بيانات تم إنشاؤه من ملف المخطط "Dataset1.xsd" للمشروع "WindowsApplication1"، فيجب عليك تحديد "WindowsApplication1.Dataset1".
4. حدد الجداول المراد إضافتها إلى التقرير، تمامًا كما تفعل مع مصادر البيانات الأخرى.
5. كود لتغيير مصادر البيانات ديناميكيًا
Dim dsdataSet As New DataSet()
Dim oRpt As New rptClient() 'يتطلب التقرير الذي تم إنشاؤه rptClient
من القراء ملء مجموعة البيانات dsdataSet بأنفسهم
'استخدم نموذج كائن "محرك التقرير" لتمرير مجموعة البيانات المعبأة إلى التقرير
oRpt. SetDataSource(dsdataSet. Tables(0))
'اربط كائن التقرير بالبيانات إلى Windows Forms Viewer، rptVew (عنصر تحكم CrystalReportViewer)
rptVew.ReportSource = oRpt
لاحظ أن أسلوب fillDataSet يمكنه الاتصال بقاعدة البيانات المحددة، واستخراج البيانات، ثم افصل قاعدة البيانات. إذا كنت ترغب في إضافة جداول متعددة في قاعدة البيانات إلى التقرير، فاستخدم عبارة SQL JOIN لربط هذه الجداول معًا، ثم حدد جدول النتائج في طريقة fillDataSet
6. قم بإنشاء تقرير رئيسي تفصيلي
في التقرير، هناك العديد من التقارير. هيكل الجدول التفصيلي الرئيسي، مثل الطلب وتفاصيل المنتج، والطلب عبارة عن سجل في جدول واحد، والإدخالات عبارة عن سجلات متعددة في جدول آخر. يمكن لهذا النوع من التقارير استخدام تنفيذ وظيفة التجميع الخاصة به :
1. إنشاء مشروع جديد
2. إضافة عنصر تحكم CrystalReportViewer إلى FORM1
3. الاتصال بقاعدة بيانات Northwind على SQL SERVER 2000 في إدارة موارد الخدمة
4. إضافة مجموعة بيانات Dataset1 وإضافة الطلبات وتفاصيل الطلب إلى البيانات تعيين.
5. قم بإضافة تقرير Crystal Report، واستخدم تقرير Expert، وحدد "ADO.NET Data Set" في بيانات المشروع، وأدخل الجداول Orders (الطلبات) وDetails (تفاصيل الطلب)، و"Link" هو الرابط إلى الحقل المرتبط، وحدد الحقل الذي سيتم عرضه فيه. "الحقل" بالنسبة لحقول الجدول الرئيسي وجدول التفاصيل، فإن أساس اختيار المجموعة في المجموعة هو جدول الطلبات حقل معرف الطلب والإجمالي والمخطط والاختيار (يمكن تصفيته) والنمط (يمكن تعيين عنوان التقرير)، ويمكن يتم تعيينها بنفسك. بعد الإعداد، انقر فوق "إنهاء".
6. اضبط موضع الحقول التي سيتم عرضها في مصمم التقرير وعرضها وما إلى ذلك.
7. أضف الكود في النافذة.
Private Sub Form1_Load (مرسل ByVal كـ System.Object، ByVal e كـ System.EventArgs) يعالج MyBase.Load
Dim oRpt كـ CrystalReport1 جديد ()
Dim dsdataSet كـ Dataset1 جديد ()
Dim CN As New Data.SqlClient.SqlConnection("مصدر البيانات=PMSERVER;الكتالوج الأولي=Northwind;معرف المستخدم=sa;password=sa")
CN.Open()
Dim daOrders كبيانات جديدة.SqlClient.SqlDataAdapter("select * from" الطلبات"، CN)
daOrders.Fill(dsdataSet، "الطلبات")
تعتيم البيانات باعتبارها بيانات جديدة
.
'استخدم نموذج كائن "محرك التقارير" لتمرير مجموعة البيانات المملوءة إلى التقرير
oRpt.SetDataSource(dsdataSet)
CrystalReportViewer1.ReportSource = oRpt
End Sub
8. قم بتشغيل البرنامج
7. استخدم برنامجًا لتغيير النص الموجود في التقرير،
ويكون الرمز كما يلي:
Dim GetTextObject As TextObject
'احصل على ReportObject بالاسم، وقم بتحويله إلى TextObject، ثم قم بإرجاع هذا الكائن.
GetTextObject = orpt.ReportDefinition.ReportObjects.Item("text13")
GetTextObject.Text = "نظام XXXX"
ملخص: تتمتع Crystal Reports بوظائف قوية للغاية، ويمكنها أيضًا تصدير ملفات WORD وEXCEL وRTF وغيرها من الملفات، ويمكنها أيضًا إنشاء مخططات معقدة وجميلة، وهي أداة قوية لتطوير تقارير WEB وWINDOWS.
(جزء من المعلومات الواردة في هذه المقالة مأخوذ من MSDN)
المؤلف: Li Honggen
البريد الإلكتروني: [email protected]
لدي الأفكار التالية:
1. الحصول على البيانات المتعلقة بقاعدة بيانات SQL من خلال استعلام الاتصال؛
2. ضعه في DataSet؛
3. استدعاء تقارير Crystal (قالب خطي أو عمودي) لإنشاء التقارير؛
4. إخراج وإنشاء مستند EXCEL.
من فضلكم أخبروني أيها الأبطال كيفية تنفيذ الأفكار المذكورة أعلاه؟ (يفضل لو كانت هناك أمثلة)
شكراً جزيلاً!
-------------------------------------------------- -------------
1. أضف DataSet مشروع جديد إلى مشروعك، واتصل بقاعدة البيانات، وأضف جداول البيانات المطلوبة أو الإجراءات المخزنة
اسحب إلى DataSet هذه وقم بتجميع DataSet
2. استخدم Crystal Report الذي يأتي مع Vs.net لإنشاء تقرير باستخدام DataSet كمصدر للبيانات.
3. ادفع البيانات إلى هذا التقرير في البرنامج
4.Crystal Report لديه خيار الإخراج إلى Excel، والذي يمكن تحقيقه أيضًا من خلال برنامج.
خافت كون كما SqlConnection
خافت من SqlDataAdapter
خافت strSQL كسلسلة
كون = SqlConnection () جديد
conn.ConnectionString = "معرف المستخدم=sa; PWD=1234;مصدر البيانات=xxxx; الكتالوج الأولي =xxxxx"
كون.فتح ()
strSQL = "اختر * من اسم الجدول"
دا = SqlDataAdapter الجديد (strSQL، conn)
Dim ds كمجموعة بيانات جديدة ()
da.Fill(ds، "TableName")
تعتيم RptDoc كاسم تقرير جديد ()
RptDoc.SetDataSource(DS)
'تحديد البيانات لـ RptDoc،
CrystalView1.ReportSource = RptDoc 'تحديد البيانات لـ CrystalView
CrystalView1.DataBind()
كون.إغلاق()
5. إذا كنت بحاجة إلى عرض الحقول المرتبطة بجداول متعددة، فمن الأفضل إنشاء DataSet باستخدام إجراء مخزن.
-------------------------------------------------- -------------
يرجى الرجوع إلى الكود التالي:
سلسلة strconn = سلسلة الاتصال؛
SqlConnection myconn=new SqlConnection(strconn);
سلسلة strcmd=@"اختر عبارة";
SqlCommand mycmd=new SqlCommand(strcmd,myconn);
SqlDataAdapter myda=new SqlDataAdapter(strcmd,myconn);
DataSet myds=new DataSet();
myconn.Open();
myda.Fill(myds،"اسم التقرير")؛
اسم التقرير myrpt =اسم التقرير الجديد();
myrpt.SetDataSource(myds);
this.CrystalReportViewer1.ReportSource=myrpt;
تصدير إلى EXCEL:
myrpt.ExportOptions.ExportDestinationType=CrystalDecisions.Shared.ExportDestinationType.DiskFile;
myrpt.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.Excel;
CrystalDecisions.Shared.DiskFileDestinationOptions opt=new CrystalDecisions.Shared.DiskFileDestinationOptions();
opt.DiskFileName=@"اسم الملف";
myrpt.ExportOptions.DestinationOptions =opt;
myrpt.Export();
المساعدة الصينية في تنزيل Crystal Reports 9:
http://www.ourfly.com/download/download.aspx
http://www.enwell.net/soft/
http://www.fast8.com/news.asp
تقارير Crystal لأعضاء Visual Studio .NET
PictureObject يرون
فئة PictureObject¦ خصائص المثيل العام لمساحة الاسم CrystalDecisions.CrystalReports.Engine
الحدود (الموروثة من ReportObject) الحدود. احصل على كائن الحدود.
الارتفاع (موروث من ReportObject) Int32. الحصول على أو تعيين ارتفاع الكائن بالنقرات.
النوع (موروث من ReportObject) ReportObjectKind. الحصول على نوع كائن التقرير.
اليسار (موروث من ReportObject) Int32. الحصول على أو تعيين موضع الزاوية اليسرى العليا للكائن بالنقرات.
الاسم (الموروث من ReportObject) السلسلة. الحصول على اسم الكائن.
ObjectFormat (موروث من ReportObject) ObjectFormat. الحصول على كائن ObjectFormat.
أعلى (موروث من ReportObject) Int32. الحصول على الموضع العلوي للكائن أو تعيينه بالنقرات.
العرض (موروث من ReportObject) Int32. الحصول على أو تعيين عرض الكائن بالنقرات.
يرى
PictureObject
ClassImports CrystalDecisions.CrystalReports.Engine
picObject كصورة PictureObject
picObject = oRpt.ReportDefinition.ReportObjects.Item("picture1")
من: http://expert.csdn.net/Expert/topic/1896/1896874.xml?temp=.78677
عند استخدام Crystal Reports استنادًا إلى نموذج الويب، إذا اتبعت ببساطة طريقة "A Dao" على الإنترنت، فإنك ستتم مطالبتك بالتأكيد: فشل تسجيل الدخول.
بخصوص هذه المشكلة، قضيت يومًا كاملاً في دراسة ملف المساعدة الخاص بـ Crystal Reports وأخيراً حصلت على حل.
أنا لست شخصًا محافظًا، وأعتقد أن هناك العديد من مستخدمي الإنترنت الذين ينفقون طاقتهم على البحث في هذه القضية مثلي.
فيما يلي بعض الخطوات التي اتخذتها لتنفيذ هذا الحل. لا تقلق، سيكون من المفيد لك أن تقرأه ببطء.
الخطوة 1: انظر إلى نموذج الملف. يأتي Crystal Reports مع ملف نموذجي، ويمكن الوصول إلى قاعدة البيانات (بدون كلمة مرور). قمت أولاً بتشغيل ملف العينة (استنادًا إلى نموذج الويب ونموذج Winform) وأظهرت النتيجة التقرير الصحيح، تمامًا مثل مثال "السكين الطائرة".
لذا، قمت بإنشاء ملف تقرير وملف aspx بنفسي، لكن النتيجة أظهرت فشل تسجيل الدخول! لكنني قمت بتغيير ملف التقرير إلى نموذج ملف التقرير ولم تحدث أية أخطاء أخرى.
ما هي المشكلة؟ هل من الممكن أن يحتوي ملف تنسيق التقرير على إعدادات إذن تسجيل الدخول؟ من خلال التتبع والتصحيح، قمت بمقارنة وتحليل ملف التقرير الخاص بي ونموذج ملف التقرير، ولم أجد أي فرق. يبدو أن المشكلة ليست في ملف التقرير.
هل هي مشكلة قاعدة البيانات؟ عندما قمت بإنشاء الوصول، فشل تسجيل الدخول!
أليست هذه مشكلة في قاعدة البيانات (قاعدة البيانات الخاصة بي لديها وصول بدون كلمة مرور، وينطبق الشيء نفسه على قاعدة البيانات الموجودة في التعليمات)؟ أليست هذه مشكلة في ملف تنسيق التقرير (لقد قمت بتحليل بعناية أن الرموز الأصلية للاثنين متماثلة)؟
إذن أين تحدث المشكلة؟ لا أستطيع أن أفهم ذلك!
الخطوة 2: ابحث عن ملف المساعدة لذلك طلبت المساعدة مرة أخرى. لقد بحثت بمساعدة Crystal Reports وأخيراً وجدت الكلمات "Access Secure Database [C#]" ووجدت الفقرة التالية:
تختلف عملية الوصول إلى قاعدة بيانات آمنة من خلال Crystal Reports for Visual Studio .NET بين نماذج الويب ونماذج Windows. في Windows Forms، يطالب مربع الحوار المستخدم تلقائيًا بإدخال اسم المستخدم وكلمة المرور (ينجح الاختبار بسهولة). في نماذج الويب، تحتاج إلى تصميم نموذج للحصول على هذه المعلومات من المستخدم. وفي كلتا الحالتين، يمكن استخدام التعليمات البرمجية لتحديد أسماء المستخدمين وكلمات المرور، مما يوفر نفس مستوى الأمان لجميع مستخدمي التطبيق.
لذلك استخدمت نفس قاعدة البيانات (أولاً باستخدام قاعدة بيانات الوصول في مثال المساعدة، ثم استخدم لاحقًا قاعدة بيانات الوصول التي قمت بإنشائها). لقد وجد أنه بالنسبة لملف التقرير نفسه، يمكن أن يُظهر Winform النجاح، لكن نموذج الويب لا يزال يُظهر فشل تسجيل الدخول! لذا فهمت نوعًا ما ما يعنيه!
يبدو أن المشكلة تكمن في إعدادات الأذونات.
الخطوة 3: ابحث عن المساعدة ونجح أخيرًا!
في المساعدة، وجدت الكلمات "تعيين معلمات تسجيل الدخول لقاعدة البيانات"، والتي قدمت بعض المعلومات التي وجدتها لاحقًا مفيدة جدًا:
يوضح المثال التالي كيفية تمرير معلمات تسجيل الدخول إلى جدول التقرير. يستخدم هذا المثال اتصالاً بقاعدة بيانات SQL Server الآمنة.
ابدأ مشروعًا جديدًا وأضف زرًا وأربعة عناصر تحكم TextBox إلى النموذج.
قم بتسمية عناصر التحكم في مربع النص: serverNameTxt، وdbNameTxt، وuserNameTxt، وpasswordTxt.
انقر نقرًا مزدوجًا فوق عنصر التحكم Button لتحديد رمز حدث Click. أدخل الكود المناسب بناءً على اللغة المستخدمة.
[ج #]
// قم بتعريف المتغيرات المطلوبة.
TableLogOnInfo logOnInfo = new TableLogOnInfo ()؛
int i = 0;
// قم بالتكرار خلال كل جدول في التقرير.
لـ (i=0;i == Report.Database.Tables.Count - 1;i++)
{
// قم بتعيين معلومات الاتصال للجدول الحالي.
logOnInfo.ConnectionInfo.ServerName = serverNameTxt.Text;
logOnInfo.ConnectionInfo.DatabaseName = dbNameTxt.Text;
logOnInfo.ConnectionInfo.UserID = userNameTxt.Text;
logOnInfo.ConnectionInfo.Password =passwordTxt.Text;
Report.Database.Tables [i].ApplyLogOnInfo (logOnInfo)؛
}
لاحظ أن قواعد بيانات الكمبيوتر المحمية بكلمة مرور مثل Microsoft Access و Paradox تستخدم هذه الطريقة أيضًا ، ولكن يجب ترك LogonInfo.serverName و LogonInfo.Databasename فارغًا.
لذلك جربتها على هذا النحو وحصلت على رسالة خطأ: لم يتم العثور على TablElogonInfo والتقرير.
في وقت لاحق اكتشفت أن TableLogonInfo هو عضو في مساحة الاسم المشتركة. لذلك أضفت عرض أسعار:
باستخدام crystaldecisions.shared ؛
هذه المرة حدثت المشكلة في التقرير.
تقرير؟ ما هذا؟
[بجد! هذه المشكلة قد أزعجتني لفترة طويلة! لقد كنت أبحث عن ما هو التقرير! شركة تقرير Waterscape مفيدة أيضًا ولا تكتب بالتفصيل! حان الوقت للقتال! ! ! ]
في النهاية ، اكتشفت أخيرًا أن التقرير هو مجرد كائن محدد من قبل المستخدم ، وليس كائنًا للنظام نفسه.
عندما كنت في حيرة من أمري ، فكرت فجأة ، لماذا لا نلقي نظرة على قاعدة البيانات وراء التقرير ، ما هي المشكلة أخيرًا ، وجدت المعلومات التالية في المساعدة
reportDocument orpt = new ReportDocument () ؛
التقرير هو عضو في DocumentCrystaldecisions.crystalReports.Engine Class.
تعديل الرمز: وأضف مرجعًا
باستخدام Crystaldecisions.shared ؛ // المسؤول عن تفسير فئة TableLogonInfo
باستخدام crystaldecisions.crystalReports .Engine ؛ // المسؤولة عن تفسير فئة reportDocument private void page_load (كائن مرسل ، system.eventargs e)
{
tableLogonInfo logoninfo = tableLoLogonInfo () جديد ؛
// يجب الإعلان عن تقرير كائن ReportDocument مقدمًا ويجب تحميل تقرير البيانات في نفس الوقت.
reportDocument orpt = new ReportDocument () ؛
wwwroot
\ exer \ pagelet \ crystal \ cr1.rpt")
// قواعد بيانات الكمبيوتر المحمية بكلمة مرور مثل Microsoft Access و Paradox تستخدم هذه الطريقة أيضًا ، ولكن يجب ترك logoninfo.servername // و logoninfo.databasename فارغًا
logoninfo.connectionInfo.serverName = "www" ؛
logoninfo.connectionInfo.Databasename = "Archives" ؛
logoninfo.connectionInfo.userId = "SA" ؛
logoninfo.connectioninfo.password = "123456
"
؛
crystalreportViewer1.ReportSource = orpt ؛
}
يظهر ملف التقرير أخيرًا!
واو ، كنت سعيدًا جدًا لدرجة أنني لم أستطع إلا أن أقف وتمتد!
الخطوة 4: الإصدار الكامل النهائي من الكود. هناك نوعان من العيوب:
(1) يستخدم ملف تنسيق تقرير البيانات مسارًا مطلقًا
(2) بمجرد تعيين أذونات الوصول إلى قاعدة البيانات ، لا يمكن تعديلها في الإصدار النهائي. تقديم شيئين أفضل:
(1) ، وظيفة server.mappath
(2) اقرأ web.config (يخبرك هذا المثال أيضًا كيفية تشغيل ملف تكوين web.config)
التعديل النهائي هو كما يلي: (رمز كامل) قاعدة البيانات هي SQL Server2000
باستخدام Crystaldecisions.shared ؛ // المسؤول عن تفسير فئة TableLogonInfo
باستخدام crystaldecisions.crystalReports .Engine ؛ // المسؤولة عن تفسير فئة reportDocument
private void page_load (كائن مرسل ، system.eventargs e)
{
tableLogonInfo logoninfo = tableLoLogonInfo () جديد ؛
// يجب الإعلان عن تقرير كائن ReportDocument مقدمًا ويجب تحميل تقرير البيانات في نفس الوقت.
reportDocument orpt = new ReportDocument () ؛
// احصل على المسار الحقيقي لملف .rpt
مسار السلسلة 1 ، path2 ؛
path1 = server.mappath (" \ exer \ pagelet ") ؛
path2 = path1+" \ crystal \ cr1.rpt " ؛
//orpt.load("c:\\\\\\\WWwRoot\\\\\\\\\\\SresTal\\\\/Rpt ") ؛
ORPT.LOAD (PATH2)
؛
السلسلة A ، B ، C ، D ؛
// الحصول على serverName
a = system.configuration .Configurationsettings .AppSettings ["serverName"] ؛
// الحصول على databasename
B = System.Configuration .Configurationsettings .AppSettings ["Database"] ؛
// احصل على userId
C = System.Configuration .ConfigurationSettings .AppSettings ["userId"] ؛
// احصل على كلمة المرور
d = system.configuration .ConfigurationSettings .AppSettings ["pass"] ؛
// تعيين معلمات logoninfo
logoninfo.connectionInfo.ServerName = a ؛
logoninfo.connectioninfo.databasename = b ؛
logoninfo.connectionInfo.userid = c ؛
logoninfo.connectioninfo.password
=
d ؛
crystalreportViewer1.ReportSource = orpt ؛
}
وصف لعملية العرض التوضيحي بأكملها:
1. في Solution Explorer ، حيث تحتاج إلى تخزين ملف التقرير ، أضف عنصرًا جديدًا: تقرير CrystalReport ، المسماة cr1.rpt
2. عند تحديد مصدر البيانات في "خبير التقرير" الذي يظهر لاحقًا ، تأكد من تحديد OLE DB ، ثم حدد محرك القيادة المقابل وفقًا لمتطلبات قاعدة البيانات الخاصة بك:
SQL Server : مزود Microsoft Ole DB لخادم SQL
الوصول: Microsoft Jet.4.0
3. أدخل اتصال قاعدة البيانات الصحيح.
4. إنشاء تقرير بيانات وحفظ ملف cr1.rpt
5. فتح webform1.aspx. أضف CrystalReportViewer التحكم: الاسم: CrystalReportViewer1
6. أضف الرمز أعلاه في حدث page_load في webform1.aspx.cs:
(ملاحظة: لا تنس أن تقتبس!)
*************************************************************************************************************************************************************************** ***
فيما يلي التفاصيل المتعلقة بهذا المحتوى في web.config
<إعدادات التطبيق>
<إضافة key = "serverName" value = "www"/>
<إضافة key = "database" value = "Archives"/>
<إضافة key = "userId" value = "admin"/>
<add key = "pass" value = "123456"/>
</appSettings>
*** لاحظ أن <add key = "pass" value = "123456"/> هنا تمريرة ، لذلك يجب أن يكون هو نفسه مثل
// احصل على كلمة المرور
d = system.configuration .Configurationsettings .AppSettings ["pass"] ؛ "الممر" في تطبيقات التطبيقات ["pass"] هنا لا يزال متسقًا. بالطبع ، يمكنك اختيار أي اسم تريده ، ولكن يجب أن يكون ثابتًا.
http://www.cnblogs.com/zhangyd1080/archive/2006/11/15/561770.html