2009-04-06 11 views
4

グリッドビューにチェックボックスがあります。データベースからグリッドビューのチェックボックスにnull値を取得する方法

<asp:CheckBox ID="chkStatus" 
runat="server" 
Checked='<%#GetStatus(Eval("VaccinationCompletedStatus")) 
%>'/> 

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 

しかし、System.DBNullがobject.Ifヌルにキャストできないようステータスつのエラーが来ているし、データベースからNULLとして来ているデータベースから来ている場合は、次のようにのGetStatusがある機能私はチェックボックスにfalseを表示させたい。

答えて

3

最初はDBNullをチェックすることもできます

If DBNull.Value.Equals(objStatus) Then 
    Return False 
Else 
    Return objStatus 
End If 
2

はブール場合、入力タイプをかどうかをチェックするTypeOf関数の機能を使用してください。それが偽を返すだけでない場合。

If TypeOf objStatus Is Boolean Then 
    Your code here 
Else 
    Return False 
End If 
1
<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> 
関連する問題