2012-09-22 54 views
0

我將輸入到DGV的值保存到列表中<T>;它們是十進制值或什麼也不是(空)。如果爲空,我希望他們能夠被視爲無效,讓我的助手功能將看到那些空丘壑爲0,但此行的位置:我可以並且應該強制DGV單元格的內容爲空嗎?

rrsr.DuckbillRate = Convert.ToDecimal(GetValAtColRow(colNumber, rowNumber)); 

...有時會失敗,「輸入字符串的不正確格式「(當它失敗時,它試圖轉換的值是一個string.empty):

這裏是我的幫助函數獲取單元格值,以便我可以將它們保存在我的列表中<T>,並且還原/從列表中存儲的記錄的內容重新填充單元格<T>:

private string GetValAtColRow(int colNum, int rowNum) 
{ 
DataGridViewRow desiredRow = dataGridViewPlatypi.Rows[rowNum]; 
return (desiredRow.Cells[colNum].Value ?? 0).ToString(); 
} 

private void SetValAtColRow(int colNum, int rowNum, string val) 
{ 
string convertedVal = val; 
// If the value is 0, I want to display an empty cell (nothing) 
if (convertedVal.Equals("0")) 
{ 
    convertedVal = string.Empty; 
} 
DataGridViewRow desiredRow = dataGridViewPlatypi.Rows[rowNum]; 
desiredRow.Cells[colNum].Value = convertedVal; 
} 

回答

2

解析變得錯地方...

輸入字符串的不正確的格式錯誤解析沒有正確完成時通常是...

至於其他問題...嘗試做這樣>> >

string a = dataGridViewPlatypi.Rows[rowNum].Cells[colNum].Value.toString() 

if(a=="") 
{ 
. 
. 
//further things 
} 
+0

它的toString ...... –

+0

呀老兄......語法可能是錯誤的... semicolun也不翼而飛......但我認爲方向是寫... – Freelancer

+0

@freelancer:謝謝,我知道必須有更清潔/更直接的方式才能像上面那樣訪問一行中的列和行。至於這是否真的有助於我的問題,但是,直到星期一才知道。 –

相關問題