Foxtable(狐表)用户栏目专家坐堂 → [求助]指定单元格自定义计算


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

主题:[求助]指定单元格自定义计算

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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
[求助]指定单元格自定义计算  发帖心情 Post By:2017/6/11 2:07:00 [只看该作者]

请教如何优化以下代码,实际的dr(i) i有1000多:

第一种情况:

Dim dr,dr1,dr2,dr3,dr4,dr5 As DataRow
dr = DataTables("订单").DataRows(10) '指定第十一行作为汇总数
dr1 = DataTables("订单").DataRows(0)'指定第一行数
dr2 = DataTables("订单").DataRows(1)'指定第二行数
dr3 = DataTables("订单").DataRows(2)'指定第三行数
dr4 = DataTables("订单").DataRows(3)'指定第四行数
dr("数量") = dr1("数量") + dr2("数量")  + dr3("数量")  + dr4("数量")  '第十一行数等于第一行至第四行数相加

 

第二种情况

Dim dr,dr1,dr2,dr3,dr4,dr5 As DataRow
dr = DataTables("订单").DataRows(10) '指定第十一行作为汇总数
dr1 = DataTables("订单").DataRows(0)'指定第一行数
dr2 = DataTables("订单").DataRows(1)'指定第二行数
dr3 = DataTables("订单").DataRows(5)'指定第六行数
dr4 = DataTables("订单").DataRows(6)'指定第七行数
dr("数量") = dr1("数量") + dr2("数量")  + dr3("数量")  + dr4("数量")  '第十一行数等于第一\二\六\七行的数相加

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/11 15:13:00 [只看该作者]

Dim dr = DataTables("订单").DataRows(10) '指定第十一行作为汇总数
Dim idxs() As Integer = {0, 1, 5, 6}
Dim sum As Double = 0
For Each i As Integer In idxs
    Dim dr1 = DataTables("订单").DataRows(i)'指定第一行数
    sum += dr1("数量")
Next
dr("数量") = sum

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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2017/6/11 17:47:00 [只看该作者]

Dim idxs() As Integer = {0, 1, 5, 6} ,假如{集合是1、2、3、4......1001、1002}即集合里有1000多行数,应该怎么表达。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/11 18:17:00 [只看该作者]

 规律是什么,如果是连续的、间隔的,那就直接循环就好的。

 回到顶部
帅哥哟,离线,有人找我吗?
乡里出城
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2017/6/11 18:45:00 [只看该作者]

连接的,就是直接循环不知道怎么写。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/11 18:49:00 [只看该作者]

Dim dr = DataTables("订单").DataRows(10) '指定第十一行作为汇总数
Dim sum As Double = 0
For i As Integer = 0 To 10
    Dim dr1 = DataTables("订单").DataRows(i)'指定第一行数
    sum += dr1("数量")
Next
dr("数量") = sum

 回到顶部
帅哥哟,离线,有人找我吗?
乡里出城
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2017/6/11 19:56:00 [只看该作者]

谢谢!

 回到顶部