GridViewに3つのチェックボックスがありますが、ユーザは1つのチェックボックスしか選択できません。最初のチェックボックスを選択すると、他の2つのチェックボックスを選択できないことを知らせる必要があります。GridViewのチェックボックスにチェックが入っているかどうかチェックします
<asp:GridView CssClass="tblResults" runat="server" ID="dgDetails"
OnRowDataBound="dgDetails_ItemDataBound"
DataKeyField="ID" AutoGenerateColumns="false"
AlternatingRowStyle-BackColor="#EEEEEE">
<HeaderStyle CssClass="tblResultsHeader" />
<Columns>
<asp:TemplateField HeaderText="Approved1">
<ItemTemplate>
<asp:CheckBox runat="server" ID="chkApproved1" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Approved2">
<ItemTemplate>
<asp:CheckBox runat="server" ID="chkApproved2" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Approved3">
<ItemTemplate>
<asp:CheckBox runat="server" ID="chkApproved3" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
背後にあるコード:
protected void dgDetails_ItemDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
GridView gv = sender as GridView;
Quote.QuoteDetails qd = e.Row.DataItem as Quote.QuoteDetails;
CheckBox chkApproved1 = e.Row.FindControl("chkApproved1") as CheckBox;
CheckBox chkApproved2 = e.Row.FindControl("chkApproved2") as CheckBox;
CheckBox chkApproved3 = e.Row.FindControl("chkApproved3") as CheckBox;
}
}
私は、クエリでこのようなものを使用してみました:
$('#<%= chkApproved1.ClientID %>').change(function() {
if($(this).is(":checked")) {
}
});
しかし、それはエラーの原因:名 'chkApproved1は' 現在に存在しません。コンテキスト。
GridViewのチェックボックスにチェックが入っているかどうかを確認するにはどうすればいいですか?
のみ公開ページメンバーが<%=...%>トークン内でアクセス可能です。チェックボックスのコントロール修飾子をpublicに変更してください。 –
クラスをチェックボックスに適用し、クラス別にクラスを選択しました - グリッドビューで動的に作成され、助けを借りて – Aristos