سلام
اعمل مشروع جديد فقط لتتعلم الطريقه وبعدها طبقها في مشروعك، ويتم اعتماد الاسماء الافتراضيه عشان ما نتوهش في الشرح
اولا: نحدد الاعمده ونوع بياناتها في ورقه مثل:
الاسم (نص)
الدرجه (رقم)
ثانيا: انشا داتاست DataSet:
1: نروح للقائمه project ونختار Add New Item او اختصارا نضغط (ctrl و shift وحرف a) ونختار من مجموعت Data مصدر البيانات DataSet ونقول Add ونترك اسمها الافتراضي
2: داخل نافذت تصميم الداتاست نضغط زر يمين ونختار add و DataTable ونترك اسمه الافتراضي
3: نبدا نضيف الاعمده بالضغظ زر يمين على راس الجدول DataTable1 ونختار Add و Column ونحدد من خصائصها النوع
الان الداتاست جاهزه
ثالثا: انشا تقرير ميكروسوفت Microsoft Report:
1: نروح للقائمه project ونختار Add New Item او اختصارا نضغط (ctrl و shift وحرف a) ونختار من مجموعت Reporting التقرير Report ونقول Add
2: نسحب ادات Table من ادوات الريبورت ونسقطها على صفحت التقرير
3: تظهر نافذه تريد منا تحديد مصدر البيانات واللي هنا DataSet1 وممكن نختار جدول البيانات لو كان عندنا اكثر من واحد ونقول OK
4: في جدول التقرير نقوم بحذف او اضاقت اعمده بحيث لا يبقى الا الاعمده التي نحتاجها ونقوم بغيير لو خلفيت سطر راس الجدول لتمييزه
5: نذهب للسطر الثاني ولكل خليه سيضهر مربع صغير عند وجود الماوس عليه، وعند النقر عليه ستظهر اعمدت جدول البيانات ونختار منها العمود ونكرر في الخلايا الاخرى
نجي لمسالت ظهور راس جدول بيانات التقرير في كل صفحه
6: نضغط بالزر الايمن على جدول التقرير حتى تظهر مستطيلات رماديه نضغط بالزر الايمن على المربع الرمادي الصغير اللي في الركن
7: من النافذه نذهب للجزء Column Headers وناشر على Repeat header columns on each page
8: نذهب اسفل نافذت التصميم وفي الجزء Column Groups يوجد له رز على شكل سهم سفلي تجده قريب من نافذت الخصائص نضغط عليه ونختار Advanced Mode
9: يظهر سطر جديد اسمه Static فوق سطر Details في الجزء اليسار في Row Groups ونقوم بتحديده *** انتبه لا تحدد من اسطر Static التي في الجزء Column Groups
وتظهر لنا خصائصه في نافذت الخصائص ونجعل الخاصيه KeepWithGroup على After والخاصيه RepeatOnNewPage على True
الان التقرير جاهز
رابعا: تجهيز الفورم وذلك باضافت جدول داتاجريدفيو وعرض التقارير ReportViewer وزر للطباعه:
1: نضيف ادات داتاجريدفيو DataGridView ونضيف له اعمده مع الانتباه عدم تغيير الاسم Name للعمود ونكتفي نتغيير عنوان العمود HeaderText فقط
2: نضيف ادات عارض تقارير ReportViewer ونربط به التقرير عن طريق النقر السهم السهم الضغير الذي يظهر بطرف الادات ونختار التقرير من القائمه التي تظهر.
3: نضع هذا الكود لزر الطباعه وفيه جزء تعبئت الداتاست من الداتاجريدفيو ومن ثم ربط اللداتاست بالقرير ومن ثم عرض التقرير
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' تعبئت الداتاست من الداتاجريدفيو
Try
DataSet1.DataTable1.Rows.Clear()
For Each row As DataGridViewRow In DataGridView1.Rows
If DataGridView1.AllowUserToAddRows And row.Index = DataGridView1.Rows.Count - 1 Then Exit For
DataSet1.DataTable1.Rows.Add((From c In row.Cells Select c.Value).ToArray)
Next
Catch ex As Exception
MsgBox("تاكد من البيانات")
Return
End Try
' ربط الداتاست بالتقرير
ReportViewer1.LocalReport.DataSources(0).Value = DataSet1.DataTable1
' عرض التقرير
ReportViewer1.RefreshReport()
End Sub
الان الفورم جاهز
موفقين