我想在GridView中填充複選框字段。填充複選框
我正在使用Checked='<%# Convert.ToBoolean(Eval("Inactive")) %>'
聲明,但是我面臨的問題是在數據庫中某些記錄包含NULL
對於Inactive
。如果它遇到一個0或1的值,它可以正常工作,但如果NULL
它會引發異常。
請引導我如何填充複選框,以便即使該字段爲null
也應該取消選中。
我想在GridView中填充複選框字段。填充複選框
我正在使用Checked='<%# Convert.ToBoolean(Eval("Inactive")) %>'
聲明,但是我面臨的問題是在數據庫中某些記錄包含NULL
對於Inactive
。如果它遇到一個0或1的值,它可以正常工作,但如果NULL
它會引發異常。
請引導我如何填充複選框,以便即使該字段爲null
也應該取消選中。
我同意Frank Crook ...您可以處理null
這樣的:
Checked='<%# Eval("Inactive") != DBNull.Value ? Convert.ToBoolean(Eval("Inactive")) : false %>'
這是c#,而不是vb.net對不對? – Curt 2012-02-15 09:47:17
@Curt亞這是C#。 – NaveenBhat 2012-02-15 09:55:59
OP已經聲明'vb.net' – Curt 2012-02-15 10:01:03
你可以處理異常,但一個快速的解決辦法是修改數據庫列是一個默認的NOT NULL值爲0.如果要允許空值,則可以捕獲異常並在其中標記複選框。
無論如何,我認爲解決你的空問題將是一個更好的解決方案。
以下將檢查值是否爲NULL
。
如果沒有,Checked
分配的Inactive
值如果是NULL
,Checked
設置爲False
。
Checked='<%# IIF(Not IsDBNull(Eval("Inactive")), Eval("Inactive"), False) %>'
我會建議你在從數據庫中獲取數據時檢查null,併爲null處理一個動作。就像如果您使用的是Sql數據庫一樣,請將您的搜索查詢修改爲:從TABLENAME中選擇Inactive = isnull(Inactive,0)。如果數據庫中存在空值,它將返回0,並且您無需修改前端用於填充gridview中複選框的任何代碼。 – 2012-02-15 08:03:05