GridView의 데이터베이스에서 확인란으로 NULL 값을 얻는 방법
문제
GridView에 확인란이 있습니다.
<asp:CheckBox ID="chkStatus"
runat="server"
Checked='<%#GetStatus(Eval("VaccinationCompletedStatus"))
%>'/>
getstatus 함수는 다음과 같습니다
Public Function GetStatus(ByVal objStatus As Object) As Boolean
If objStatus = True Then
Return True
ElseIf objStatus = False Then
Return False
Else
Return False
End If
End Function
그러나 상태 상태가 데이터베이스에서 NULL로 오면 System.DBNULL이 객체로 캐스트 할 수 없습니다. NULL이 데이터베이스에서 나오면 확인란을 확인하고 싶습니다.
해결책
먼저 dbnull을 확인할 수 있습니다.
If DBNull.Value.Equals(objStatus) Then
Return False
Else
Return objStatus
End If
다른 팁
부울 인 경우 입력 유형이 있는지 확인하기 위해 기능을 사용하여 입력 유형을 확인하십시오. 그것이 거짓을 반환하는 것이 아니라면.
If TypeOf objStatus Is Boolean Then
Your code here
Else
Return False
End If
<asp:TemplateField HeaderText="foo" >
<ItemTemplate>
<asp:CheckBox runat="server"
Checked='<%# Eval("foo").GetHashCode() == 1 %>'
Enabled="false"
Visible='<%# Eval("foo").GetType() == typeof(Boolean) %>' />
</ItemTemplate>
</asp:TemplateField>
제휴하지 않습니다 StackOverflow