منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها (/showthread.php?tid=25121)

الصفحات: 1 2


ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - larbihamri - 27-05-18

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

صح فطوركم  Smile


RE: ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - elgokr - 28-05-18

طبق هذا الكود
ولكن تاكد بانك قمت بانشاء 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

تحياتى لك
وتمنياتى لك التوفيق



RE: ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - larbihamri - 28-05-18

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


RE: ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - elgokr - 28-05-18

الشكر لله
قم بوضع رسالة الخطاء
لاتمكن من افادتك

وفى الكود لسابق لم اقوم بعمل اى اكواد استعلام او ما يدل على قاعدة البيانات
كل الفكرة من الكود ان تحول محتوى DataGridView1 الى DataTable
ليتم عملية نسخ البيانات من DataTable الى DataSet1
ولتحنب اى اخطاء يجب ان يكون مسميات الاعمدة فى كلاهما واحد

تحياتى لك



RE: ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - larbihamri - 28-05-18

كود الرسالة : Object reference not set to an instance of an object
لقد قمت بتسمية اعمدة الداتاسيت مثل مسميات الداتا قريد


RE: ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - elgokr - 28-05-18

(28-05-18, 04:02 PM)larbihamri كتب : كود الرسالة : Object reference not set to an instance of an object
لقد قمت بتسمية اعمدة الداتاسيت مثل مسميات الداتا قريد


اذا كان صحيح تم التسمية بنس التسمية

لما كان تم ذكر تلك الرسالة

حاول ان تجعل المسميات فى كلا الاثنين بالانجليزية وبدون مسافات
وقم بالتجربة وفى حالة النجاح
ساوم بتوضيح كيفية عرض المسميات الانجليزية الى العربية فى عرض الفورم
خاصة : DataGridView1 

تحياتى لك



RE: ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - larbihamri - 28-05-18

و الله يا اخي الفاضل مازالت نفس رسالة الخطأ تظهر

اذا كان بإمكانك الق نظرة على الملف المرفف


RE: ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - elgokr - 28-05-18

(28-05-18, 05:26 PM)larbihamri كتب : و الله يا اخي الفاضل مازالت نفس رسالة الخطأ تظهر

اذا كان بإمكانك الق نظرة على الملف المرفف


انتظرني حتى بعد الافطاء

حتى اقوم بانشاء مشروع طبقاً لمشروعك
لان عند تحميل ما بالمرق ومحاولة فتح Form2 يظهر يحدث خطاء

واتمني من الله ان لا اسهو عن ذلك
تحياتى لك



RE: ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - larbihamri - 28-05-18

صح فطورك أخي الفاضل تقبل الله منا و منك صالح الأعمال


RE: ملأ الداتا سيت من الداتاقريد فيو و ربط الريبورت فيو معها - mrnooo2000 - 28-05-18

بعد اذن الأخ الجوكر 

استخدم  هذا الكود

كود :
       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
لأن التسميات العربية تنتج أخطاء و خصوصا مع وجود المسافات 

غير الأسماء لديك بالداتا سيت و بالريبورت الى نفس الاسماء أولا