2012-02-15 143 views
0

我想在GridView中填充複選框字段。填充複選框

我正在使用Checked='<%# Convert.ToBoolean(Eval("Inactive")) %>'聲明,但是我面臨的問題是在數據庫中某些記錄包含NULL對於Inactive。如果它遇到一個0或1的值,它可以正常工作,但如果NULL它會引發異常。

請引導我如何填充複選框,以便即使該字段爲null也應該取消選中。

+1

我會建議你在從數據庫中獲取數據時檢查null,併爲null處理一個動作。就像如果您使用的是Sql數據庫一樣,請將您的搜索查詢修改爲:從TABLENAME中選擇Inactive = isnull(Inactive,0)。如果數據庫中存在空值,它將返回0,並且您無需修改​​前端用於填充gridview中複選框的任何代碼。 – 2012-02-15 08:03:05

回答

0

我同意Frank Crook ...您可以處理null這樣的:

Checked='<%# Eval("Inactive") != DBNull.Value ? Convert.ToBoolean(Eval("Inactive")) : false %>' 
+0

這是c#,而不是vb.net對不對? – Curt 2012-02-15 09:47:17

+0

@Curt亞這是C#。 – NaveenBhat 2012-02-15 09:55:59

+0

OP已經聲明'vb.net' – Curt 2012-02-15 10:01:03

0

你可以處理異常,但一個快速的解決辦法是修改數據庫列是一個默認的NOT NULL值爲0.如果要允許空值,則可以捕獲異常並在其中標記複選框。

無論如何,我認爲解決你的空問題將是一個更好的解決方案。

0

以下將檢查值是否爲NULL

如果沒有,Checked分配的Inactive

值如果是NULLChecked設置爲False

Checked='<%# IIF(Not IsDBNull(Eval("Inactive")), Eval("Inactive"), False) %>'