hola
pero porque has puesto esta linea
DataGridView1.DataSource = dsexcel.Tables(0)
dento del For, eso no es correcto, porque por cada ciclo asignas nuevamente el origen de datos del grid
ademas si tienes un datatable porque lo recorres usando
For j = 0 To dsexcel.Tables(0).Rows.Count - 1
y no usas esto otro
For Each row As DataRow In dsexcel.Tables(0).Rows
de esta forma tendras directo el row y no necesitas pelearte con los indices
para mostrar el registro, podrias agregarlod e forma manual usando el Rows.Add
o sea
DataGridView1.DataSource = dsexcel.Tables(0)
usar
DataGridView1.Rows.Add(New String() {CStr(row("NUMERO DE PARTE")), CStr(row("TOTAL")), CStr(row("NUMEROPANELES")) })
como veras alli estas agregando una fila programaticamente al grid para mostrarlo, por supuesto no debes asignar un DataSource
esto si podrias hacerlo dentro del For Each, y cada item del array New String() coincide con uan columna definida en el datagridview, quizas lo mejor sea que defrinas las columnas en timepo de diseño
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina