Dim lbl As New Label
With lbl
.Text = txtCaption ' value you want it to display from dgv.dr
.Top =
.Left =
.Name =
.Size =
End With
I dont know what you mean by a table of labels, so lets say you want to add them to a panel there just for them:
pnlLabels.Controls.Add(lbl)
Make that a Sub and call it from the loop processing the rows in the datagridview, passing the relevant value for its caption. Something like this:
CreateLabel(ndx as Integer, txtCaption as String)
You will need an index or counter of how many made so that some properties like .Top can be offset accordingly.
EDIT
I have no idea what your dgv or data etc looks like, but your loop would be SOMETHING like this:
pnlLabels.Controls.Clear ' might want to remove any old ones
Dim Caption as String = ""
Dim ndx As Integer = 0
For Each dr As DataGridViewRow in dgv.rows
Caption = dr.Cells(X) ' or where the data is
CreateLabel(ndx, Caption)
ndx += 1
Next