Ignore the column names, these are in my native language, you have to put your own, obviously.
With dgv
AutoGenerateColumns = False
.Columns(0).DataPropertyName = "redni_br"
.Columns(1).DataPropertyName = "id_zad"
.Columns(2).DataPropertyName = "id"
.Columns(3).DataPropertyName = "id_kutije"
.Columns(4).DataPropertyName = "status"
.Columns(5).DataPropertyName = "greska"
.Columns(6).DataPropertyName = "razlog"
.Columns(7).DataPropertyName = "tip"
.DataSource = source.Tables(1)
End With
In the grid designer you can find Columns property and set the columns, headers, alignement, null values, formats etc...then you just bind them in form load to particular column...you can use column names instead of indexes if you find it more readable.
You can bind the columns in form load and only assign datasource when it is available or you can bind them just before assigning the source. IT doesn't work other way around :)
If this helps please take time to accept the solution. Thank you.