Hi
I have created a gridview dynamically from scratch and added it to my aspx page. This works fine, but i have a button in the footer of on of the columns, which when clicked on makes the gridview disappear and doesn't fire the onclick event that it should. This should obviously not be the case. My question is why does the event not fire and why does the gridview vanish?
Bear in mind i have never created aa gridview in the code behind before, so excuse me if i am being dense
Code creating columns
Code to add button to footer
I have created a gridview dynamically from scratch and added it to my aspx page. This works fine, but i have a button in the footer of on of the columns, which when clicked on makes the gridview disappear and doesn't fire the onclick event that it should. This should obviously not be the case. My question is why does the event not fire and why does the gridview vanish?
Bear in mind i have never created aa gridview in the code behind before, so excuse me if i am being dense
Code creating columns
Code:
Dim gvTownships As New GridView
'COLUMNS
Dim tmpCategory As New TemplateField
tmpCategory.ItemTemplate = New cGridViewTemplate(DataControlRowType.DataRow, "Category")
tmpCategory.HeaderTemplate = New cGridViewTemplate(DataControlRowType.Header, "Category")
tmpCategory.FooterTemplate = New cGridViewTemplate(DataControlRowType.Footer, "Calculation")
'INFORMATION
gvTownships.AutoGenerateColumns = False
gvTownships.ID = cmbChoice.SelectedItem.Text
gvTownships.ShowFooter = True
gvTownships.CssClass = "mGrid"
gvTownships.RowStyle.Wrap = False
gvTownships.HeaderStyle.CssClass = "mgrid"
gvTownships.HeaderStyle.Wrap = True
gvTownships.FooterStyle.CssClass = "mGridtf"
gvTownships.AlternatingRowStyle.CssClass = "alt"
gvTownships.GridLines = GridLines.Both
'add columns
gvTownships.Columns.Add(tmpCategory)
gvTownships.DataSource = dstSuburbTowhShip
gvTownships.DataBind()
Code:
Sub InstantiateIn(ByVal container As System.Web.UI.Control) _
Implements ITemplate.InstantiateIn
Case DataControlRowType.Footer
If columnName = "Calculation" Then
Dim btnCalculate As New Button
btnCalculate.Text = "Calculate"
btnCalculate.CssClass = "button"
'add handler
AddHandler btnCalculate.Click, AddressOf btnCalculate_Clicked
container.Controls.Add(btnCalculate)
End If
Case Else
' Insert code to handle unexpected values.
End Select
End Sub
Private Sub btnCalculate_Clicked(ByVal sender As Object, ByVal e As EventArgs)
Try
Dim btnCalculate As Button = CType(sender, Button)
Dim gvRow As GridViewRow = CType(btnCalculate.NamingContainer, GridViewRow)
btnCalculate.CommandArgument = "Calculate"
Catch ex As Exception
End Try
End Sub
End Class
Comment