السلام عليكم و كيف حال الجميع
من فضلكم كيف يمكنني ان املأ الداتاسيت من الداتا قريد فيو
مع العلم انا الداتاسيت سيتم ربط الريبورت معها
الفكرة هي كالأتي :
يتم نقل بيانات الداتا قريد الى الداتاسيت مصممة مسبقا و من تم يقوم الريبوت فيو بأخذ البيانات منها
صح فطوركم

طبق هذا الكود
ولكن تاكد بانك قمت بانشاء DataSet1
خاصة بالتقرير وتحتوى نفس مسميات اعمدة DataGridView1
كود :
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim dt As New DataTable
dt = CType(DataGridView1.DataSource, DataView).ToTable
Dim datasource As New ReportDataSource("DataSet1", dt)
Form2.ReportViewer1.LocalReport.DataSources(0) = datasource
Form2.ReportViewer1.Refresh()
End Sub
تحياتى لك
وتمنياتى لك التوفيق
شكرا بارك الله فيك
لكن اخي الفاضل انا في هذه الحالة لا اربط الداتا قريد مع قاعدة البيانات و ليس لها الداتاسورس و عند تنفيذي للكود تطلع لي رسالة خطأ
الشكر لله
قم بوضع رسالة الخطاء
لاتمكن من افادتك
وفى الكود لسابق لم اقوم بعمل اى اكواد استعلام او ما يدل على قاعدة البيانات
كل الفكرة من الكود ان تحول محتوى DataGridView1 الى DataTable
ليتم عملية نسخ البيانات من DataTable الى DataSet1
ولتحنب اى اخطاء يجب ان يكون مسميات الاعمدة فى كلاهما واحد
تحياتى لك
كود الرسالة : Object reference not set to an instance of an object
لقد قمت بتسمية اعمدة الداتاسيت مثل مسميات الداتا قريد
(28-05-18, 04:02 PM)larbihamri كتب : [ -> ]كود الرسالة : Object reference not set to an instance of an object
لقد قمت بتسمية اعمدة الداتاسيت مثل مسميات الداتا قريد
اذا كان صحيح تم التسمية بنس التسمية
لما كان تم ذكر تلك الرسالة
حاول ان تجعل المسميات فى كلا الاثنين بالانجليزية وبدون مسافات
وقم بالتجربة وفى حالة النجاح
ساوم بتوضيح كيفية عرض المسميات الانجليزية الى العربية فى عرض الفورم
خاصة : DataGridView1
تحياتى لك
و الله يا اخي الفاضل مازالت نفس رسالة الخطأ تظهر
اذا كان بإمكانك الق نظرة على الملف المرفف
(28-05-18, 05:26 PM)larbihamri كتب : [ -> ]و الله يا اخي الفاضل مازالت نفس رسالة الخطأ تظهر
اذا كان بإمكانك الق نظرة على الملف المرفف
انتظرني حتى بعد الافطاء
حتى اقوم بانشاء مشروع طبقاً لمشروعك
لان عند تحميل ما بالمرق ومحاولة فتح Form2 يظهر يحدث خطاء
واتمني من الله ان لا اسهو عن ذلك
تحياتى لك
صح فطورك أخي الفاضل تقبل الله منا و منك صالح الأعمال
بعد اذن الأخ الجوكر
استخدم هذا الكود
كود :
Dim dt As New DataTable
dt.Columns.Add("column1", Type.GetType("System.String"))
dt.Columns.Add("column2", Type.GetType("System.String"))
Dim r As DataRow
For i = 0 To DataGridView1.Rows.Count - 1
r = dt.NewRow
r(0) = DataGridView1.Item(0, i).Value.ToString
r(1) = DataGridView1.Item(1, i).Value.ToString
dt.Rows.Add(r)
Next
Dim datasource As New ReportDataSource("DataSet1", dt)
Form2.ReportViewer1.LocalReport.DataSources(0) = datasource
Form2.ShowDialog()
لكن لاحظ أخى أننى غيرت أسما الحقول الى
column1 و column1
لأن التسميات العربية تنتج أخطاء و خصوصا مع وجود المسافات
غير الأسماء لديك بالداتا سيت و بالريبورت الى نفس الاسماء أولا