以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助,想做成这个效果我该怎么写代码?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=50346)

--  作者:heying325
--  发布时间:2014/5/5 11:27:00
--  求助,想做成这个效果我该怎么写代码?
求助!! 如下图所示,比例列里的内容是动态变化的,它表示相同名称中,各行里数量所占的比例。例如AA,总数量是100,所以比例分别为如图所示。现在我想,当我增加一行后,名称也为AA,数量输入数字后,所以名称为AA的行的比例自动变化,请教各位大大,我该怎么弄?

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


--  作者:Bin
--  发布时间:2014/5/5 11:30:00
--  
利用Select获取所有对应名称的行,然后进行计算分配

具体请上个例子.

--  作者:lsy
--  发布时间: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
--  发布时间:2014/5/5 11:46:00
--  
实例已经上传,很简单!求助!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

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

--  作者:heying325
--  发布时间:2014/5/5 11:48:00
--  
先谢谢你,我试试!!
--  作者:heying325
--  发布时间:2014/5/5 12:00:00
--  
你好!安装你的方法,新增的行的比例自动跳出来了,可是前面的比例因为新增的这个行应该也要发生变化~~
--  作者:有点甜
--  发布时间: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
--  发布时间:2014/5/5 12:42:00
--  
多谢!!!