gpt4 book ai didi

c# - 使用 Linq 获取不同 ID 的 datagridview 列的总和

转载 作者:太空狗 更新时间:2023-10-29 23:00:34 25 4
gpt4 key购买 nike

我有两个表单 Form1(DGV1 & DGV2)Form2(DGV3 & DGV4),两个表单上都有 Datagridview 控件。

Form1 上有一个链接到 Form2 的按钮,用户可以在其中向 Form1 添加行 datagridview(DGV1)。在 Form2 → (DGV3 and DGV4) 中,第一列中有一个 checkbox,用户一次只能选择一行。

Form2 上有两个按钮:DoneAdd Items

当用户通过依次选择行来单击“添加项目”时,这些行必须添加到 Form1 上的 datagridview 中,当单击“完成”按钮时,Form1 应显示所有添加的行。

我已经做到了。

DGV1DGV2 中的列是

DGV1 列

Sno Desciption SellQty ItemID
----------------------------
1 ABC 0 1
2 XYZ 0 2

DGV2 列

Sno BatchNo SellQty ItemID
----------------------------
1 123 10 1
2 528 20 2
1 568 30 1
2 522 40 2

Form1 加载期间,如何根据 ItemID 获取 Form1SellQty 总和 Form → DGv2 并更新 DGV1 中的 SellQty 的值。

示例:For ItemID=1 sum(SellQty)=40

所以我需要将此值分配给 DGV1 SellQty Column=40

请指教。

最佳答案

以下将为您提供 ItemID == 1 的总数量 - (确保为数据网格使用正确的列名)

int total = DGV1.Rows.Cast<DataGridViewRow>()
.Where(r=> Convert.ToInt32(r.Cells["ItemID"].Value) == 1)
.Sum(t=> Convert.ToInt32(t.Cells["SellQty"].Value));

编辑:

对于更新 gridview 你可以这样做:

for (int i = 0; i < DGV1.Rows.Count; i++)
{
if (Convert.ToInt32(DGV1.Rows[i].Cells["ItemID"].Value) == 1)
DGV1.Rows[i].Cells["SellQty"] = total;
}

关于c# - 使用 Linq 获取不同 ID 的 datagridview 列的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com