CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

如何对DataSet里的DataTable进行统计??

楼主sgci_violence(建新)2006-02-04 17:18:26 在 .NET技术 / VB.NET 提问

我有一个DataSet  
  里边有个表  
  结构:  
  ID         Name         Price  
        1         A               1.0  
        1         A               2.0  
        1         A               3.0  
        2         B               1.0  
        2         B               2.0  
        2         B               3.0  
   
  我要得到这样的一个DataTable   或DateView   用来绑定DataGrid  
  ID           Name         Count         Sum_Price  
  1             A               3                 6.0  
  2             B               3                 6.0  
  怎么用代码实现呀??  
   
   
  问题点数:20、回复次数:13Top

1 楼kjq_vb(跟着MS走)回复于 2006-02-04 17:29:17 得分 0

select   id,name,sum(*)   as   count,sum(price)   as   sum_price   from   table   group   by   id,nameTop

2 楼kjq_vb(跟着MS走)回复于 2006-02-04 17:30:03 得分 0

更正上面的:  
  select   id,name,count(*)   as   count,sum(price)   as   sum_price   from   table   group   by   id,name  
  Top

3 楼sgci_violence(建新)回复于 2006-02-04 17:36:04 得分 0

DataSet   里不支等SQL吧!!  
  你是在哪里执行SQL?  
   
   
  如果是数据库的放就你这样做Top

4 楼kjq_vb(跟着MS走)回复于 2006-02-04 17:57:46 得分 0

难道你的dataset里的表不是从数据库来吗,如果是就可以用这方法Top

5 楼sgci_violence(建新)回复于 2006-02-04 18:05:34 得分 0

我的DATASET数据是从XML来的  
  Top

6 楼sgci_violence(建新)回复于 2006-02-05 09:02:17 得分 0

没有人给个例子吗??谢了!!Top

7 楼sgci_violence(建新)回复于 2006-02-06 09:57:49 得分 0

过年了,人都没有上班吗?Top

8 楼Qqwwee_Com(http://qqwwee.com)回复于 2006-02-06 10:27:52 得分 10

就用笨蛋办法  
  1.在内存中生成一个新的dataTable  
  对应  
  ID           Name         Count         Sum_Price  
   
  这4列,  
   
  然后对dateset的每行做处理,把数据存放到上面的datatable中。  
   
   
   
  ====CSDN   小助手   V2.5   2005年11月05日发布====  
  CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件  
  速度快,使用方便。  
  界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx  
  下载:http://szlawbook.com/csdnv2  
   
  Top

9 楼fangxinggood(JustACoder)回复于 2006-02-06 11:10:46 得分 0

我的DATASET数据是从XML来的  
  ================  
  贴出你的XML文件,用xpath可以解决你的问题。Top

10 楼Jimmyliu2004()回复于 2006-02-06 14:25:06 得分 10

看看我这个例子是从文本文件里取数据生成DATASET然后绑定到datagrid里的  
    Dim   intColCount   As   Integer   =   0  
                  Dim   blnFlag   As   Boolean   =   True  
                  Dim   mydt   As   DataTable   =   New   DataTable  
                  Dim   mydc   As   DataColumn  
                  Dim   mydr   As   DataRow  
   
                  Dim   FilePath   As   String  
                  If   OpenFile_dg.ShowDialog   =   DialogResult.OK   Then   '打开一个文件选择框  
                          FilePath   =   Me.OpenFile_dg.FileName  
                  End   If  
                  Dim   strline   As   String  
                  Dim   aryline   As   String()  
                  Dim   i   As   Integer  
   
                  If   FilePath   <>   Nothing   Then   '当文件名不为空  
                          Dim   mysr   As   System.IO.StreamReader   =   New   System.IO.StreamReader(FilePath,   System.Text.Encoding.Default)  
                          strline   =   mysr.ReadLine()  
                          While   strline   <>   Nothing  
                                  aryline   =   strline.Split(vbTab)   '以TAB键为分隔符  
                                  'aryline   =   strline.Split("|".ToCharArray())  
                                  If   blnFlag   Then  
                                          blnFlag   =   False  
                                          intColCount   =   aryline.Length  
                                          For   i   =   0   To   aryline.Length   -   1  
                                                  mydc   =   New   DataColumn(aryline(i))  
                                                  mydt.Columns.Add(mydc)  
                                          Next  
                                  Else  
                                          mydr   =   mydt.NewRow()  
                                          For   i   =   0   To   intColCount   -   1  
                                                  mydr(i)   =   aryline(i)  
                                          Next  
                                          mydt.Rows.Add(mydr)  
                                  End   If  
                                  strline   =   mysr.ReadLine()  
                          End   While  
                  End   If  
   
                  Me.DataGrid1.DataSource   =   mydt   '填充数据到datagrid  
                  Me.DataGrid1.ReadOnly   =   TrueTop

11 楼Jimmyliu2004()回复于 2006-02-06 14:26:02 得分 0

更正一下上面的“看看我这个例子是从文本文件里取数据生成Datatable然后绑定到datagrid里的”  
  Top

12 楼Tony8002003(冷)回复于 2006-02-07 10:49:01 得分 0

你的数据是从XML里提出来的,所以你不想更改XML里的内容,而你想要得到一个DataTable   或DateView   用来绑定DataGrid。个人意见:  
  写一个DataTable。它里面的数据为你的XML内容,然后再写一个列。这个列为合计列。然后把这个DataTable绑定到DataGrid中。  
  Top

13 楼caoguoqing209()回复于 2006-02-13 14:31:02 得分 0

select   id,name,count(*)   as   count,sum(price)   as   sum_price   from   table   group   by   id,name   order   by   id,nameTop

相关问题

  • 对DataTable里的内容进行统计?
  • 困惑:对DataTable对象的统计?还是对datagrid对象进行统计好!
  • 怎样对datatable中数据再用sql语句进行查询很统计?
  • 对DataTable里的相同id的某一个字段的内容进行统计,其他字段都一样?
  • 统计
  • 统计!!
  • 统计
  • 统计
  • 查询统计
  • 统计问题???

关键词

  • 数据
  • datagrid
  • csdn
  • me
  • aryline
  • mydt
  • datatable
  • strline
  • intcolcount
  • mydc

得分解答快速导航

  • 帖主:sgci_violence
  • Qqwwee_Com
  • Jimmyliu2004

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo