日期:2014-05-19  浏览次数:20684 次

关于DataTable的两个问题一直没解决
这两个问题一直不知道能不能解决,请达人帮我看一下
1   怎么把DataTable某一列拷到一个数组里去,条件是一条语句,不用循环的办法
2   Msdn上说DataView可以用Sum的,一直不知道怎么用,哪位达人能否讲一下,最好能有个例子。DataTable是单表的,有一列是Score,怎么能直接得到DataTable该列的和,也是不用循环的办法。

(相信用循环的办法大家都会,有时想偷懒一下,想试试一条语句能不能搞掂,呵呵。)


------解决方案--------------------
不是很懂,帮顶一下
------解决方案--------------------
1 怎么把DataTable某一列拷到一个数组里去,条件是一条语句,不用循环的办法
----------------------------------------------
没有直接的方法,不用循环,可以用其它变通的方法实现,不过那样还不如用循环方便
------解决方案--------------------
一条语句不能吧~
------解决方案--------------------
第一个问题,DataTable没有支持这方面操作的属性和方法,只有通过循环或sql语句来解决
第二个问题,可以用DataTable的compute方法,比如
double result=(int)MyDataTable.Compute( "sum(Score) ", "Score> =60 ");
这个方法是求所有Score大于等于60的和.
------解决方案--------------------
Bote_China() ( ) 信誉:100 2007-7-28 18:24:47 得分: 0

第二个问题,可以用DataTable的compute方法,比如
double result=(int)MyDataTable.Compute( "sum(Score) ", "Score> =60 ");
这个方法是求所有Score大于等于60的和.
---------------------------------
nod



------解决方案--------------------
在ROWDATABOUND事件下面添加如下代码:

//判断是否为数据行,是的话,就将其列的相加
if(e.row.rowindex> =0)
{
sum+=convert.todouble(e.row.cell[列号].text);
}