0
GridView列にチェックボックスコントロールを動的に追加しました。 各GridView_RowBound()イベントで、チェックボックスが列に追加されています。 また定義され、以下のようにRowBound()イベントでCheckBox_CheckedChangedイベント、AutoPostBack = TrueでないCheckBox CheckedChangedイベント
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
「Checkbox- CheckedChangedイベント。
Public Sub cbTargetSign_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
End Sub
グリッドのチェックボックスをオンにするたびに、checkedChangedイベントがトリガーされません。誰でも私にこれを解決する方法を案内しますか?
注:デフォルト値でグリッド全体を再読み込みするため、チェックボックスのAutoPostBackをTRUEに設定したくありません。
をトリガーする 'checkedChanged'? autopostbackをfalseに設定するので、別のコントロールによって次のPostBackに対してのみ起動します。 – VDWWD
CHECKEDのグリッドに追加された他のテンプレートコントロール(ラジオボタンとテキストボックス)を無効にしたい。 AutoPostBackをTRUEに設定した後、CheckBoxをクリックすると、CheckedChangedイベントが発生します。チェックを外すと、トリガーされません。 後で、ページの読み込み時にChecked = Trueを設定しました。チェックされていないときにイベントがトリガーされ、チェックされていないときにイベントがトリガーされるようになりました。 この現象の原因はわかりますか? – VHK
すべてのページの読み込み時にダイナミックコントロールを追加しています(ポストバックを含む)。そうでなければ、2回目に失敗するでしょう。 – VDWWD