Search code examples
vb.netgridviewdynamic-controls

Can't Find Controls in GridView on Dynamic Controls


I have a gridview where I add textboxes to everycell on runtime. However, I can't seem to access those controls using findcontrol

Here is how I add the textboxes to the gridview:

If e.Row.RowType = DataControlRowType.DataRow Then
        For i = 1 To e.Row.Cells.Count - 1

            Dim txtSchedule As New TextBox()

            txtSchedule.ID = "txtSchedule" & i.ToString

           e.Row.Cells(i).Controls.Add(txtSchedule)
        Next
    End If

When I go to find the controls it says they are Nothing :

GridView1.Rows(0).Cells(cellindex).FindControl("txtSchedule" & cellindex.ToString)

EDIT The problem is that after the textboxes get populated it recreates the textboxes since I have them in row created


Solution

  • Use FindControl within the Cell of the Row that you added the Control:

    GridView1.Rows(0).Cells(cellindex).FindControl("txtSchedule" & cellindex.ToString)