GridView의 데이터베이스에서 확인란으로 NULL 값을 얻는 방법

StackOverflow https://stackoverflow.com/questions/720613

  •  23-08-2019
  •  | 
  •  

문제

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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top