我再次遇到同样问题,但这次是在gridview中对相同ID的行进行求和。我的gridview中有两列名为ID和quantity。议程是我必须手动输入ID和数量,我试图用相同的行ID来总结数量。一个例子是
ID数量
1234 1
1234 1
8976 2
8976 2
所以当我按下按钮时,ID 1234将有2个数量,8976将有4个数量。 我厌倦了在system.linq中使用group by函数,但是我的列和行变成了一个空单元格。有没有人有解决方案?任何帮助都应该非常感谢。
以下是我的代码段
我的主要表单类
int id = 0;
int qty = 0;
List<QuantityPerID> qtyList = new List<QuantityPerID>();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (null != row.Cells[0].Value)
{
id = int.Parse(row.Cells[0].Value.ToString());
}
if (null != row.Cells[1].Value)
{
qty = int.Parse(row.Cells[1].Value.ToString());
}
var sales = qtyList.Select(s => s.ID).Distinct().Select(order => new QuantityPerID
{
ID = order,
Quantity= qtyList.Where(s => s.ID == order).Sum(s => s.Quantity),
}).ToList();
var source = new BindingSource();
source.DataSource = qtyList;
dataGridView1.DataSource = sales;
我的quantityperID类代码
class QuantityPerID
{
public int ID{ get; set; }
public int Quantity { get; set; }
}