首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 一个DataGirdView计算的问题!请教!急!!! [已结贴,结贴人:silvering]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • silvering
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-22 09:48:27 楼主
    DataGirdView中有数据如下:

    姓名,课程,成绩
    张三,语文,90
    张三,数学,80
    李四,语文,100
    李四,数学,90

    我现在想在DataGirdView中加上一列总分合计,数据只在DataGirdView中,没有数据库

    姓名,课程,成绩,合计
    张三,语文,90,170
    张三,数学,80,170
    李四,语文,100,190
    李四,数学,90,190


    急!
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • h_w_king
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:08:091楼 得分:80
    C# code
    private void addtotal() { this.dataGridView1.Columns.Add("total", "总和"); Dictionary<string, int> total = new Dictionary<string, int>(); foreach (DataGridViewRow dr in this.dataGridView1.Rows) { if (dr.Cells[0].Value != null) { string name = dr.Cells[0].Value.ToString(); int t = Convert.ToInt32(dr.Cells[2].Value.ToString()); if (total.ContainsKey(name)) total[name] += t; else total.Add(name, t); } } foreach (DataGridViewRow dr in this.dataGridView1.Rows) { if (dr.Cells[0].Value != null) { string name = dr.Cells[0].Value.ToString(); if (total.ContainsKey(name)) dr.Cells[3].Value = total[name]; else dr.Cells[3].Value = 0; } } }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Macosx
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:30:532楼 得分:5
    虽然没有数据库 但也可以使用一个DataTable的存储 如果这样的话 只要加一个列并给它的Expression属性赋值就可以
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangfuchong
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:34:313楼 得分:5
    冒泡帮顶接分

    总得有数据源吧?
    还是实时输入的?
    总之应该都是有办法的


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • silvering
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:43:564楼 得分:0
    UP起来!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • firein
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:50:335楼 得分:5
    引用 2 楼 Macosx 的回复:
    虽然没有数据库 但也可以使用一个DataTable的存储 如果这样的话 只要加一个列并给它的Expression属性赋值就可以

    VB code
    Dim sumObject As Object sumObject = table.Compute("Sum(Total)", "EmpID = 5")
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • silvering
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:51:566楼 得分:0
    二楼的代码加上了一列总计,但是计算不出结果!


    。。。


    郁闷!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • accomp
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:53:447楼 得分:5
    给DataGirdView的数据源加一条记录,把前面的数据的和,放进去,然后绑定,就可以。

    如果需要特殊处理,可以调用逐行绑定事件,自己进行处理。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • silvering
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:59:438楼 得分:0
    看明白了二楼的代码,多谢!OKl饿!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • skey111
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 11:03:549楼 得分:0
    应该是重新datatable dt = ds.table一下,再在dt 里面做一次计算,完了后再将dt绑定一下就可以了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • firein
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 14:28:1710楼 得分:0
    ~~
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved