2013-02-19 97 views
2

我有一個DataGridView,並在索引0處添加了一個名爲SellQtyCheckbox的列。用戶在選擇checkbox時必須輸入int值。如果沒有,我顯示一條消息來輸入值。現在問題是我從SellQty單元中獲取值並將其存儲在object中,並檢查它是否爲null檢查對象是否爲空或爲空

object SellQty = gvProductBatch.Rows[i].Cells["txtSellQty"].Value; 
if(SellQty!=null) 
    // do something 

else 
    // ..Show message. 

這工作正常。但問題在於,當用戶輸入一個值並將其刪除時,存儲在其中的值爲{}即空。我想知道如何檢查一個對象是否爲空。我已經搜索了相同的內容,但沒有找到答案來處理空對象。所有結果都是針對if對象爲空的。

+0

得到實際的編輯的值類型轉換的對象的字符串,然後檢查是否爲空或空... – 2013-02-19 13:03:44

+1

你的意思是價值'{}'是'DBNull'。所以你可以檢查例如'if(SellQty == DBNull.Value)' – 2013-02-19 13:04:14

+0

爲什麼當它是一個'string'時將它保存爲'object'? – juharr 2013-02-19 13:04:17

回答

1

您可以通過使用.EditedFormattedValue

if (string.IsNullOrWhiteSpace(gvProductBatch.Rows[i].Cells["txtSellQty"].EditedFormattedValue.ToString()) 
{ 
    //Do something 
} 
+0

我正在使用3.5.Anywaz我已經使用了NullorEmpty,它的工作原理非常棒。感謝mate.Can你可以解釋一下這行代碼。 – Prathap 2013-02-19 13:27:03

+0

heres [msdn](http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.editedformattedvalue.aspx)參考將向您解釋。歡迎':)' – spajce 2013-02-19 13:28:56

+0

通過it.Thanks.I改變了驗證和計算在我的整個module.It工程很好。當用戶在整個模塊中輸入一個空格時,我沒有處理這個異常。現在它很好用 – Prathap 2013-02-19 13:37:10