20-10-16, 09:37 PM
السلام عليكم
انا اريد ارسال جميع بيانات ال DataGridView الى Report Viewer لغرض طباعتها
وجدت المثال الاتي في Stack-overflow في هذا الرابط
وهو يعمل جيدا
الكود الخاص بالمثال :
وجدت المثال الاتي في 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
وهذا الكود الخاص بها :
كود :
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 بالمثود الخاصه بي لاني لا اريد اظهار جميع الصفوف
شكرا
شكرا