这是我的代码并出现未知错误:
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
for (int i = 0; i < dataGridView1.Rows.Count; ++i)
{
object a = dataGridView1.Rows[i].Cells["price"].Value;
object b = dataGridView1.Rows[i].Cells["tedad"].Value;
double aNumber = 0;
double bNumber = 0;
if (a != null)
aNumber = Double.Parse(a.ToString());
if (b != null)
bNumber = Double.Parse(b.ToString());
dataGridView1.Rows[i].Cells["total"].Value = aNumber * bNumber;
dataGridView1.RefreshEdit();
}
decimal sum = dataGridView1.Rows.OfType<DataGridViewRow>()
.Sum(row => Convert.ToDecimal(row.Cells["total"].Value));
txtDate.Text = sum.ToString();
像OfType()
这样的错误:
'System.Windows.Forms.DataGridViewRowCollection'不包含'OfType'的定义,也没有扩展方法'OfType'接受类型'System.Windows.Forms.DataGridViewRowCollection'的第一个参数WindowsFormsApplication1test
答案 0 :(得分:8)
确保您拥有:
using System.Linq;
答案 1 :(得分:3)
确保引用System.Linq
命名空间,以.NET 3.5或更高版本为目标,包含System.Core
作为参考。
答案 2 :(得分:0)
在for循环中,只需将[“total”]值相加并将它们放在txtDate.Text字段中。