0
我将复选框控件动态添加到GridView列中。 在每个GridView_RowBound()事件上,复选框都被添加到列中。 另外定义,CheckBox_CheckedChanged事件中,如下所示RowBound()事件,CheckBox CheckedChanged event without AutoPostBack = True
Protected Sub GridviewChildItem_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow AndAlso Not String.IsNullOrEmpty(CRMSignCond) Then
Dim lbValue As Label = DirectCast(e.Row.Cells(5).FindControl("lbValue"), Label)
e.Row.Cells(5).Attributes.Add("onmousemove", "Show('" + lbValue.Text + "')")
e.Row.Cells(5).Attributes.Add("onmouseout", "this.style.backgroundColor=this.oldcolor;Hide();")
End If
AddTemplateControls(Nothing, e)
End Sub
Private Sub AddTemplateControls(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
Dim cbTargetSign As New CheckBox
Dim rbConsolidate As New RadioButtonList
Dim tbSignGrp As New TextBox
cbTargetSign.ID = "chkSelect"
cbTargetSign.AutoPostBack = False
cbTargetSign.Checked = True
rbConsolidate.ID = "rbConsolidate"
tbSignGrp.ID = "tbSigningGroup"
tbSignGrp.Width = 25
If Not e.Row.RowIndex = -1 Then
e.Row.Cells(6).Controls.Add(cbTargetSign)
e.Row.Cells(4).Controls.Add(tbSignGrp)
e.Row.Cells(7).Controls.Add(rbConsolidate)
End If
rbConsolidate.RepeatDirection = RepeatDirection.Horizontal
rbConsolidate.Items.Add("Yes")
rbConsolidate.Items.Add("No")
rbConsolidate.Items(1).Selected = CBool(True)
If cbTargetSign.Checked Then
rbConsolidate.Enabled = False
End If
**AddHandler cbTargetSign.CheckedChanged, AddressOf cbTargetSign_CheckedChanged**
End Sub
“复选框 - 的CheckedChanged事件。
Public Sub cbTargetSign_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
End Sub
每次,当我检查网格中的复选框时,checkedChanged事件不会触发。任何人指导我如何解决这个问题?
注意:我不想将AutoPostBack的复选框设置为TRUE,因为它会使用默认值重新加载整个网格。
当你期待'checkedChanged'触发?因为您将autopostback设置为false,它只会在另一个控件的下一个回发中触发。 – VDWWD
我想在CHECKED中禁用网格中添加的其他模板控件(单选按钮和文本框)。 将AutoPostBack设置为TRUE后,在CheckBox单击,CheckedChanged事件被触发。 UnCheck后,它不会被触发。 稍后,我在页面加载时设置了Checked = True,现在事件在未选中时触发,而不是在选中时触发。 我可以知道这种行为的原因吗? – VHK
您是否在每个页面加载(并包括回发)上添加动态控件。如果不是,那么第二次就会失败。 – VDWWD