We came across an interesting problem when trying to programmatically add a column to a asp:gridview using page_load (vb). It took quite a while to figure out the relatively simple solution, so I thought that I would share it
Original code:
Dim hf As New HyperLinkField
hf.Text = "Delete"
hf.DataNavigateUrlFormatString = "delete.aspx?JobID={0}"
hf.DataNavigateUrlFields = "JobID" ‘It is this JobID as the field name to use for the ID that is causing the issues
Me.gridTable.Columns.Add(hf)
Me.gridTable.DataBind()
And the solution:
Dim hf As New HyperLinkField
hf.Text = "Delete"
hf.DataNavigateUrlFormatString = "delete.aspx?JobID={0}"
Dim flds() As String = {"JobID"} ‘Create a new 1-dimensional string array with one item – “Job ID”
hf.DataNavigateUrlFields = flds
Me.gridTable.Columns.Add(hf)Me.gridTable.DataBind()
If this helps you out, or you have any queries, please do leave me a comment and let me know!