Я сделал вот так:
Protected Sub grdFormValues_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
Dim dt = CType(grdFormValues.DataSource, DataTable)
For i As Integer = 0 To dt.Columns.Count - 1
e.Row.Cells(i).Text = dt.Columns(i).Caption
Next
End If
End Sub