惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
博客园_首页
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
美团技术团队
小众软件
小众软件
V
V2EX
博客园 - Franky
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
Attack and Defense Labs
Attack and Defense Labs
S
Security Affairs
Simon Willison's Weblog
Simon Willison's Weblog
I
Intezer
T
The Exploit Database - CXSecurity.com
有赞技术团队
有赞技术团队
S
Schneier on Security
人人都是产品经理
人人都是产品经理
Security Archives - TechRepublic
Security Archives - TechRepublic
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
K
Kaspersky official blog
PCI Perspectives
PCI Perspectives
AI
AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
O
OpenAI News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Register - Security
The Register - Security
V
Vulnerabilities – Threatpost
GbyAI
GbyAI
博客园 - 【当耐特】
C
Cisco Blogs
大猫的无限游戏
大猫的无限游戏
Help Net Security
Help Net Security
Google DeepMind News
Google DeepMind News
S
Securelist
Application and Cybersecurity Blog
Application and Cybersecurity Blog
P
Proofpoint News Feed
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
L
LangChain Blog
SecWiki News
SecWiki News
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V2EX - 技术
V2EX - 技术
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
L
LINUX DO - 热门话题
Cisco Talos Blog
Cisco Talos Blog

博客园 - Burt

软件项目研发的设计流程 访问IIS元数据库失败解决方法(转) 经典SQL语句大全 js 比较2日期大小 - Burt - 博客园 时间段查询 left join on sql 日期格式转换(convert用法)(转) 分页存储过程 刷新后保持页面滚动条位置C#&VB(转) - Burt - 博客园 Dropdownlist样式设置 - Burt - 博客园 TreeView的遍历(转) 读取天气预报所产生乱码解决方法MiniSite.Weather.print("Wealth") 40种网页常用小技巧(javascript) 页面图象鼠标操作放大和制作图片热点 无法将类型login_aspx转换为System.Web.UI.WebControl c# 发邮件(转摘) [没有相关源的行] 访问被拒绝 水晶报表制作 页面自动刷新以及广告程序得Javascript代码
合并表格,并实现对datatable的group by 功能 - Burt
Burt · 2009-06-24 · via 博客园 - Burt

没有想到好的方法,这是最笨的方法,对datatable的逐行进行汇总。       

     DataTable ddt = new DataTable();
             for (int i = 0; i < dt.Rows.Count; i++)
            {
                string ConnectStrings = dt.Rows[i]["DB_UU_Boat"].ToString();
                DataTable dtrows = gs.GetLostCountDetail(ConnectStrings, dayNum);
                ddt.Merge(dtrows);//合并表格
            }
            DataView dv = ddt.DefaultView;
            dv.Sort = "visitTime";//排序,按照字段visitTime进行排序
            ddt = dv.ToTable();//保存排序后的table
            DataTable dtds = ddt.Clone();//新建一个结构相同的表格,用来存放结果
            string ssc = "";
            for (int i = 0; i < dv.Count; i++)
            {
                if (ssc == ddt.Rows[i]["visitTime"].ToString())//如果是重复的,则跳过!
                {
                    continue;
                }
                string sB = ddt.Compute("Sum(D_count)", "visitTime=" + ddt.Rows[i]["visitTime"].ToString()).ToString();//根据相同的visitTime来汇总D_count
                ssc = ddt.Rows[i]["visitTime"].ToString();
                DataRow dtro = dtds.NewRow();//新建一个datarow,来承接汇总后的数据
                dtro[0] = sB;
                dtro[1] = ssc;
                dtds.Rows.Add(dtro);//把得到新数据添加到新表中
            }