내 프로젝트에 체크 박스를 TemplateField로 사용하는 데이터 격자가 있습니다. 하지만 checkbox.checked
속성에 액세스 할 수 없습니다. 누구 아이디어가 있습니까?ASP 용 Datagrid의 체크 박스
내 ASP 코드 : 뒤에
<asp:GridView ID="GVP" runat="server" AutoGenerateColumns="False" DataSourceID="DSP">
<Columns>
<asp:TemplateField HeaderStyle-Width="5%" ItemStyle-Width="5%" FooterStyle-Width ="5%">
<ItemTemplate>
<asp:CheckBox ID="SelectCb" runat="server"></asp:CheckBox>
</ItemTemplate>
<FooterStyle Width="5%"/>
<HeaderStyle Width="5%"/>
<ItemStyle Width="5%"/>
</asp:TemplateField>
<asp:BoundField DataField="Answers" HeaderText="Options" SortExpression="Answers" />
</Columns>
</asp:GridView>
내 VB 코드 :
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles buttonNext.Click
Dim SelectedBox As Boolean = False
For Each row As GridViewRow In GVP.Rows
Dim cb As CheckBox = row.FindControl("SelectCb")
If cb IsNot Nothing AndAlso cb.Checked Then
SelectedBox = True
Dim RID As Integer = Convert.ToInt32(GVP.DataKeys(row.RowIndex).Value)
Else
ShowMessage("You did not select anything")
End if
'SelectedBox = ctype (row.FindControl ("SelectCb"), TextBox) .checked'를 시도하십시오. 이것은 효과가있다. – Minus
"checkbox.checked 속성에 액세스 할 수 없습니다"라는 의미는 무엇입니까? 그것은 오류를 던지고 있습니까? 그렇다면 오류는 무엇입니까? – Razvan
디버거가'If cb.Checked Then' 부분에 도착하면; cb가 CType 또는 DirectCast –