Foxtable(狐表)用户栏目专家坐堂 → 求助,想做成这个效果我该怎么写代码?


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

主题:求助,想做成这个效果我该怎么写代码?

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


加好友 发短信
等级:小狐 帖子:396 积分:3446 威望:0 精华:0 注册:2013/9/27 9:04:00
求助,想做成这个效果我该怎么写代码?  发帖心情 Post By:2014/5/5 11:27:00 [只看该作者]

求助!! 如下图所示,比例列里的内容是动态变化的,它表示相同名称中,各行里数量所占的比例。例如AA,总数量是100,所以比例分别为如图所示。现在我想,当我增加一行后,名称也为AA,数量输入数字后,所以名称为AA的行的比例自动变化,请教各位大大,我该怎么弄?

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140505111826.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/5 11:30:00 [只看该作者]

利用Select获取所有对应名称的行,然后进行计算分配

具体请上个例子.

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/5 11:44:00 [只看该作者]

If e.DataCol.Name = "第二列" AndAlso e.DataRow.IsNull("第一列") = False AndAlso e.DataRow.IsNull("第二列") = False Then
    e.DataRow("第三列") = e.DataRow("第二列") / e.DataTable.Compute("Sum(第二列)","第一列 = '" & e.DataRow("第一列") & "'")
End If

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


加好友 发短信
等级:小狐 帖子:396 积分:3446 威望:0 精华:0 注册:2013/9/27 9:04:00
  发帖心情 Post By:2014/5/5 11:46:00 [只看该作者]

实例已经上传,很简单!求助!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

[此贴子已经被作者于2014-5-5 11:47:10编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3446 威望:0 精华:0 注册:2013/9/27 9:04:00
  发帖心情 Post By:2014/5/5 11:48:00 [只看该作者]

先谢谢你,我试试!!

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


加好友 发短信
等级:小狐 帖子:396 积分:3446 威望:0 精华:0 注册:2013/9/27 9:04:00
  发帖心情 Post By:2014/5/5 12:00:00 [只看该作者]

你好!安装你的方法,新增的行的比例自动跳出来了,可是前面的比例因为新增的这个行应该也要发生变化~~

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/5 12:02:00 [只看该作者]

在3楼基础上改了一下

 

If e.DataCol.Name = "数量" AndAlso e.DataRow.IsNull("名称") = False AndAlso e.DataRow.IsNull("数量") = False Then
    Dim sum As Double = e.DataTable.Compute("Sum(数量)","名称 = '" & e.DataRow("名称") & "'")
    For Each dr As DataRow In e.DataTable.Select("名称 = '" & e.DataRow("名称") & "'")
        dr("比例") = dr("数量") / sum
    Next
End If


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


加好友 发短信
等级:小狐 帖子:396 积分:3446 威望:0 精华:0 注册:2013/9/27 9:04:00
  发帖心情 Post By:2014/5/5 12:42:00 [只看该作者]

多谢!!!

 回到顶部