我想在c#中做方法計算,但是當我運行代碼時,給我轉換值的錯誤。消息錯誤是「對象不能從DBNull轉換爲其他類型」。該錯誤從行int bal = 0開始;在計算轉換
private void btn_total_Click(object sender, EventArgs e)
{
//int[] columnData = (from DataGridViewRow row in dataGridView3.Rows where row.Cells[2].FormattedValue.ToString() != string.Empty select Convert.ToInt32(row.Cells[2].FormattedValue)).ToArray();
//lbl_sum.Text = columnData.Sum().ToString();
int sum = 0;
for (int i = 0; i < dataGridView3.Rows.Count; ++i)
{
sum += Convert.ToInt32(dataGridView3.Rows[i].Cells[2].Value);
}
int bal = 0;
for (int i = 0; i < dataGridView3.Rows.Count; ++i)
{
bal = Convert.ToInt32(dataGridView3.Rows[i].Cells[3].Value) - sum;
}
if (bal <0)
{
label_bal_pay.Text = bal.ToString();
}
else
{
lbl_bal.Text = bal.ToString();
}
label_bal_pay.Text = bal.ToString();
lbl_bal.Text = bal.ToString();
lbl_sum.Text = sum.ToString();
}
對該問題添加錯誤的完整描述。如果您嘗試調試您的代碼並瞭解您自己的錯誤,那麼它也不會壞。可能你的錯誤是以dataGridView3.Rows [i] .Cells [3] .Value'的形式給出的,它可以包含非整數的值。 –
我已經編輯了描述。該列中的值是整數。 @ S.Petrosov –
不要在* grid *上執行計算,在實際數據上執行該操作,無論這是數據網格還是對象列表。在這種情況下,您不必解析字符串 –