Foxtable(狐表)用户栏目专家坐堂 → 新手求助,列不固定,如何求各列合计?


  共有9385人关注过本帖树形打印复制链接

主题:新手求助,列不固定,如何求各列合计?

帅哥哟,离线,有人找我吗?
pbcti
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:122 威望:0 精华:0 注册:2012/5/22 12:03:00
新手求助,列不固定,如何求各列合计?  发帖心情 Post By:2012/6/5 9:23:00 [只看该作者]

有一个表,各列均为数值字段,但列数不固定,如下表所示:

 

数值字段1

数值字段2 数值字段3 数值字段N
1.00 2.00 3.00 4.00
1.00 2.00 3.00 4.00
1.00 2.00 3.00 4.00
1.00 2.00 3.00 4.00
1.00 2.00 3.00 4.00
1.00 2.00 3.00 4.00
1.00 2.00 3.00 4.00

 

如何以编程方式求各列合计,并把合计列放在各列后面,计算后变成这样:

 

 

数值字段1 数值字段2 数值字段3 数值字段N            合计列
1.00 2.00 3.00 4.00 10.00
1.00 2.00 3.00 4.00 10.00
1.00 2.00 3.00 4.00 10.00
1.00 2.00 3.00 4.00 10.00
1.00 2.00 3.00 4.00 10.00
1.00 2.00 3.00 4.00 10.00
1.00 2.00 3.00 4.00 10.00

 

 

先谢谢了!


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/5 9:52:00 [只看该作者]

DataColChanged事件:

 

if e.DataCol.IsNumeric then

    Dim sum AS double

    For Each dc As DataCol  in e.DataTable.DataCols

           sum = sum + e.datarow(dc.name)

    Next

    e.datarow("合计列") = sum

end if


 回到顶部
帅哥哟,离线,有人找我吗?
pbcti
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:122 威望:0 精华:0 注册:2012/5/22 12:03:00
  发帖心情 Post By:2012/6/5 11:18:00 [只看该作者]

谢谢


 回到顶部
帅哥,在线噢!
wjl-se
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:771 积分:6388 威望:0 精华:0 注册:2011/12/1 14:47:00
  发帖心情 Post By:2012/6/7 15:00:00 [只看该作者]

以下是引用狐狸爸爸在2012-6-5 9:52:00的发言:

DataColChanged事件:

 

if e.DataCol.IsNumeric then

    Dim sum AS double

    For Each dc As DataCol  in e.DataTable.DataCols

           sum = sum + e.datarow(dc.name)

    Next

    e.datarow("合计列") = sum

end if

执行代码出错,程序关闭。翻看帮助没找出原因。再次请教。谢谢!


 回到顶部
帅哥,在线噢!
wjl-se
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:771 积分:6388 威望:0 精华:0 注册:2011/12/1 14:47:00
  发帖心情 Post By:2012/6/7 16:26:00 [只看该作者]

原来是要加个条件,需要把合计列排除在外。


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/6/7 16:51:00 [只看该作者]

if e.DataCol.IsNumeric then

    Dim sum AS double

    For Each dc As DataCol  in e.DataTable.DataCols

       if dc.Name <> "合计列" then

           sum = sum + e.datarow(dc.name)

end if

    Next

    e.datarow("合计列") = sum

end if


 回到顶部