Wie einen Nullwert aus der Datenbank auf eine Checkbox in gridview erhalten
Frage
ich habe eine Checkbox in gridview.
<asp:CheckBox ID="chkStatus"
runat="server"
Checked='<%#GetStatus(Eval("VaccinationCompletedStatus"))
%>'/>
Die Funktion GetStatus ist wie folgt
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
Aber wenn Status als null aus der Datenbank kommt dann ein Fehler kommt als System.DBNull nicht object.If null gegossen werden kann, ist aus der Datenbank kommen möchte ich Checkbox checkt falsch.
Lösung
Sie können für DBNull überprüfen Sie zuerst:
If DBNull.Value.Equals(objStatus) Then
Return False
Else
Return objStatus
End If
Andere Tipps
Mit der TypeOf Funktion, wenn der Eingabetyp, wenn ein boolean überprüfen. Wenn es nicht gerade return false ist.
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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow