chenqj2005 2022-04-20 02:51 采纳率: 50%
浏览 97
已结题

关于DataGridView中按一列中编号相同的数据汇总的问题?

for (int i = 1; i < this.dgv1.Rows.Count - 1; i++)
{

                //      //若与下一单元格值不同


                if (dgv1.Rows[i].Cells[“产品编号”].Value.ToString().Trim () == dgv1.Rows[i-1].Cells[产品编号].Value.ToString().Trim ())
                {
                    td += Convert.ToDecimal(this.dgv1.Rows[i].Cells[数量].Value.ToString());

                }
                dgv1.Rows[i].Cells[备注].Value = td.ToString().Trim();
               }

如上,我将相同编号的产品的数量累加到备注列,遍历后不能达到效果,我刚学,请教能有详细解答,是用数组,还是DATATABLE,当在dgv1(DataGridVies)中更改数量时,备注也相应更新,不用再去数据库里更新了,只是在DGV中显示,然后打印。打印我做出来了,这是这个累加不好做。

img


如上图所示

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

5条回答 默认 最新

  • 黑白码农 2022-04-20 03:06
    关注

    如果是从数据库取出来的数据,你就再取一组根据select sum(数量) from 表 group by 编号就能直接获取到每个编号的合计了
    如果是数组处理:

    //      //若与下一单元格值不同
    
    for (int i = 1; i < this.dgv1.Rows.Count - 1; i++)
    {
        if (i==1){
            td = Convert . ToDecimal(this . dgv1 . Rows[i] . Cells[数量] . Value . ToString());
        }
        if (dgv1 . Rows[i] . Cells[“产品编号”] . Value . ToString() . Trim() == dgv1 . Rows[i - 1] . Cells[产品编号] . Value . ToString() . Trim()) {
            td += Convert . ToDecimal(this . dgv1 . Rows[i] . Cells[数量] . Value . ToString());
    
        }else{
            dgv1 . Rows[i] . Cells[备注] . Value = td . ToString() . Trim();
            td = 0;
        }
    }
    
    

    我只是做了处理合计,显示的位置是每个值的最后一行,要显示在每个编号的第一行,你自己处理下就好了

    备注更新的你只要通过数据修改的时候失去焦点触发处理下备注就好了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    chenqj2005 2022-04-20 04:20

    您的这个意见,会出现备注都成0了,另外这是将相同编号的产品的数量汇总后放到第一个相同编号的备注处,这个在循环里面如何写
    请指导,

    回复
    黑白码农 回复 chenqj2005 2022-04-20 06:18

    备注都成0不会的啊,是不是写错了,我这里没法调试,if里面不是备注值的,else里面设置好了备注后要把合计的td值清空,或者你换个变量名,放在第一个相同编号的的你把循环从1到count,改成成count到1就好了

    回复
    chenqj2005 回复 黑白码农 2022-04-20 07:07

    谢谢,下面有个老师的答复也可以,谢谢您
    我已打赏他了,您的答案我也采纳了,多谢指导

    回复
查看更多回答(4条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 4月27日
  • 已采纳回答 4月20日
  • 创建了问题 4月20日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部