تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ارسال بيانات DataGridView الى report Viewer.
#1
السلام عليكم
انا اريد ارسال جميع بيانات ال DataGridView الى Report Viewer لغرض طباعتها
وجدت المثال الاتي في Stack-overflow في هذا الرابط 
وهو يعمل جيدا 
الكود الخاص بالمثال :
كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
   Dim cn = "data source=(localdb)\v11.0;initial catalog=TestDB;integrated security=True;"
   Dim cmd = "SELECT Id,Name FROM Category"
   Dim adapter = New SqlDataAdapter(cmd, cn)
   Dim table = New DataTable()
   adapter.Fill(table)
   Me.DataGridView1.DataSource = table
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
   Dim form2 = New Form2()
   Dim rds= New ReportDataSource("DataSet1", Me.DataGridView1.DataSource)
   form2.ReportViewer1.LocalReport.DataSources.Clear()
   form2.ReportViewer1.LocalReport.DataSources.Add(rds)
   form2.ReportViewer1.LocalReport.ReportEmbeddedResource = "Test.Report1.rdlc"
   form2.ShowDialog()
End Sub
ما اريده هو ان اجعل الكود السابق يعمل مع المثود الخاصه بتعبئه ال DataGridView الموجوده لدي 
وهذا الكود الخاص بها :
كود :
Sub FillGridS()
       DataGridView1.CancelEdit()
       DataGridView1.Columns.Clear()
       DataGridView1.DataSource = Nothing

       Dim cbb As New DataGridViewComboBoxColumn() With {.HeaderText = "العملة"}
       cbb.Items.Add("شيقل.ج")
       cbb.Items.Add("د.اردني")
       cbb.Items.Add("د.امريكي")
       cbb.Items.Add("يورو")
       cbb.Items.Add("ر.صيني")
       cbb.FlatStyle = FlatStyle.Flat
       'Delete Button
       Dim btnDelete As New DataGridViewButtonColumn()
       btnDelete.FlatStyle = FlatStyle.Flat
       'Image Button
       Dim btnImage As New DataGridViewButtonColumn()
       btnDelete.FlatStyle = FlatStyle.Popup


       DataGridView1.Columns.Insert(0, btnDelete)
       DataGridView1.Columns.Add("", "المبلغ المرسل")
       DataGridView1.Columns.Add(cbb)
       DataGridView1.Columns.Add("", "العمولة")
       DataGridView1.Columns.Add("", "أسم المستقبل")
       DataGridView1.Columns.Add("", "هاتف المستقبل")
       DataGridView1.Columns.Add("", "البلد المستقبل")
       DataGridView1.Columns.Add("", "أسم المرسل")
       DataGridView1.Columns.Add("", "هاتف المرسل")
       DataGridView1.Columns.Add("", "الشركة المستقبلة")
       DataGridView1.Columns.Add("", "التاريخ")
       DataGridView1.Columns.Add(btnImage)
       DataGridView1.Columns.Add("", "الملاحظات")
       DataGridView1.Columns.Add("", "ID")
       DataGridView1.Columns(13).Visible = False

       'WHERE date >= DATEADD(DAY, -30, GETDATE())
       Const sqlstring As String = "SELECT * FROM money_sent "
       'فحص الاتصال بقاعدة البيانات
       If SQL.conn.State = ConnectionState.Open Then
           SQL.conn.Close()
       End If
       SQL.conn.Open()
       Dim adt As New SqlDataAdapter(sqlstring, SQL.conn)
       Dim dt As New DataTable
       adt.Fill(dt)

       Dim i As Integer
       For i = 0 To dt.Rows.Count - 1
           DataGridView1.Rows.Add()
           DataGridView1.Rows(i).Cells(1).Value = dt.Rows(i).ItemArray(1)
           Dim cell As DataGridViewComboBoxCell = DirectCast(DataGridView1.Rows(i).Cells(2), DataGridViewComboBoxCell)
           cell.Value = dt.Rows(i).ItemArray(2)
           DataGridView1.Rows(i).Cells(3).Value = dt.Rows(i).ItemArray(3)
           DataGridView1.Rows(i).Cells(4).Value = dt.Rows(i).ItemArray(4)
           DataGridView1.Rows(i).Cells(5).Value = dt.Rows(i).ItemArray(5)
           DataGridView1.Rows(i).Cells(6).Value = dt.Rows(i).ItemArray(6)
           DataGridView1.Rows(i).Cells(7).Value = dt.Rows(i).ItemArray(7)
           DataGridView1.Rows(i).Cells(8).Value = dt.Rows(i).ItemArray(8)
           DataGridView1.Rows(i).Cells(9).Value = dt.Rows(i).ItemArray(9)
           DataGridView1.Rows(i).Cells(10).Value = dt.Rows(i).ItemArray(10)
           DataGridView1.Rows(i).Cells(12).Value = dt.Rows(i).ItemArray(12)
           DataGridView1.Rows(i).Cells(13).Value = dt.Rows(i).ItemArray(0)
       Next

       SQL.conn.Close()
       'كود خاص بتخطيط الجريد فيو
       DataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.SingleHorizontal
       Me.DataGridView1.GridColor = Color.WhiteSmoke
   End Sub
يعني اريد استبدال الكود الموجود بال load بالمثود الخاصه بي لاني لا اريد اظهار جميع الصفوف
شكرا
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
ارسال بيانات DataGridView الى report Viewer. - بواسطة Rabeea Qbaha - 20-10-16, 09:37 PM


التنقل السريع :


يقوم بقرائة الموضوع: