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

しかし、ステータスがデータベースから来ているSystem.DBNullがobject.Ifヌルにキャストすることはできないとして、その後1つのエラーが来ているデータベースからヌルとして来ている場合、私は、チェックボックスが偽の確認を取得したい。

役に立ちましたか?

解決

あなたが最初はDBNullをチェックすることができます:

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

他のヒント

ブール場合場合は、入力の種類を確認するためにTypeOf関数の機能を使用してください。そうでない場合は、単にfalseを返します。

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