Te paso un ejemplo que te va a servir
Primero debes agregar un modulo a tu aplicacion, dentro del modulo defines
Public dtpedido As New DataTable("pedidos")
defines la estructura de tu Tabla
Public Sub inicia_dgv1()
'Añadimos las columnas codigo y descripcion a la tabla dtpedido que es publica
With dtpedido
.Columns.Clear()
.Rows.Clear()
.Columns.Add("Cliente", GetType(String))
.Columns.Add("Serie", GetType(String))
.Columns.Add("Folio", GetType(String))
.Columns.Add("reporte", GetType(String))
.Columns.Add("consecutivo", GetType(String))
.Columns.Add("Nombre del Cliente", GetType(String))
.Columns.Add("Razon Social", GetType(String))
.Columns.Add("Imp.Fact", GetType(String))
.Columns.Add("Pago", GetType(String))
.Columns.Add("EF", GetType(Boolean))
.Columns.Add("FI", GetType(Boolean))
.Columns.Add("CR", GetType(Boolean))
.Columns.Add("TC", GetType(Boolean))
.Columns.Add("DP", GetType(Boolean))
.Columns.Add("CT", GetType(Boolean))
.Columns.Add("NC", GetType(Boolean))
.Columns.Add("PR", GetType(Boolean))
.Columns.Add("RE", GetType(Boolean))
.Columns.Add("FL", GetType(Boolean))
.Columns.Add("NP", GetType(Boolean))
.Columns.Add("PE", GetType(Boolean))
.Columns.Add("Observaciones", GetType(String))
.Columns.Add("fecha_t", GetType(String))
.Columns.Add("ordenRER", GetType(Integer))
'.Columns.Add("Forma Pago", GetType(Boolean))
End With
End Sub
'***en el clic de tu boton
inicia_dgv1()
llena_dtpedido()
Me.DataGridView1.DataSource = dts.Tables("pedido")
'***en llena_dtpedido() haces un for each para cada renglon que tenga que aparecer en el DataGrid agregando el registro a dtpedido
Dim newRow() As String = New String() {cli_a, serie_a, folio_a, rep_a, cvo_a, cli_n, _
cli_r, monto_a.ToString("##,###,##0.00"), pag_a.ToString("##,###,##0.00"), _
"False", "False", "False", "False", "False", "False", _
"False", "False", "False", "False", "False", "False", com_a, fecha_t}
dtpedido.Rows.Add(newRow)
Si te sirve no olvides marcarla como respuesta
Saludos