2017-09-27 143 views
-1

我試圖做一個DataGridView一些操作,這樣數學運算的datagridview

object value1 = matematicaDataGridView[1, 0].Value; 
object value2 = matematicaDataGridView[2, 0].Value; 

int val1, val2; 
if (int.TryParse(value1.ToString(), out val1) && int.TryParse(value2.ToString(), out val2)) 
{ 
    matematicaDataGridView[3,0].Value = val1 - val2; 
} 
else 
{ 
    MessageBox.Show(" invalid inputs."); 
} 

我從單行得到的結果,我怎樣才能從DataGridView中的所有行的結果?

+0

你在做什麼數學運算?你能解釋一下你的代碼到底在做什麼嗎? –

+1

在循環中使用變量而不是文字,e,g'matematicaDataGridView [i,j]'。 – Sinatr

+0

你知道如何使用for循環嗎? –

回答

0

你必須使用循環使用計數器變量(r)通過行迭代,並在每一行上執行代碼:

for(int r=0; r<matematicaDataGridView.Rows.Count; r++) 
{ 
    object value1 = matematicaDataGridView[1, r].Value; 
    object value2 = matematicaDataGridView[2, r].Value; 

    int val1, val2; 
    if (int.TryParse((string)value1, out val1) && int.TryParse((string)value2, out val2)) 
    { 
     matematicaDataGridView[3, r].Value = val1 - val2; 
    } 
    else 
    { 
     //MessageBox.Show(" invalid inputs."); 
    } 
} 

由於value1可以爲空,value1.ToString()可能會引發異常。爲了避免它,你可以用(string)value1來代替。