以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]统计复选框被选中行的合计代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=44780)

--  作者:zyys2813
--  发布时间:2014/1/8 19:12:00
--  [求助]统计复选框被选中行的合计代码
在论坛中找到了这个
e.Form.Controls("Label").Text = Tables("窗口1_Table1").GetCheckedRows.count
发现这是计算选中行数的
我想计算所有选中行的比如[金额]列合计,代码怎么写?




--  作者:有点甜
--  发布时间:2014/1/8 19:41:00
--  
 类似如下代码

Dim sum As Double = 0
For Each r As Row In Tables("窗口1_Table1").GetCheckedRows
    sum += r("金额")
Next
msgbox(sum)

--  作者:zyys2813
--  发布时间:2014/1/8 19:49:00
--  
有点甜 老师
我想把合计值写到文本框里,怎么写

--  作者:zyys2813
--  发布时间:2014/1/8 20:09:00
--  
在副表的 aftercheckrow写:
Dim sum As Double
For Each r As Row In Tables("财务管理_外欠回收").GetCheckedRows
    sum = r("出库金额")
Next
e.Form.Controls("合计金额").Text = sum

控件"合计金额" 里只显示当前选择行的"出库金额"数,选择多行后如何显示合计数?


--  作者:zyys2813
--  发布时间:2014/1/8 20:11:00
--  
解决了,少了一个+,对不起
--  作者:有点甜
--  发布时间:2014/1/8 20:20:00
--  
Dim sum As Double = 0
For Each r As Row In Tables("窗口1_Table1").GetCheckedRows
    sum += r("金额")
Next 
e.Form.Controls("TextBox1").Text = sum

--  作者:zyys2813
--  发布时间:2014/1/8 20:38:00
--  
发现了一个问题

在AfterCheckRow中代码

Dim sum As Double

For Each r As Row In Tables("财务管理_外欠回收").GetCheckedRows

    sum += r("出库金额")

e.Form.Controls("合计金额").Text = sum

Next

能够实现勾选行的合计,复选框增加与减少,在"合计金额"文本框中都能准确显示合计


但我加了一个按钮,代码是

Tables("财务管理_外欠回收").ClearCheckedRows

点击后 "合计金额"文本框的值保持最后一次勾选不变,如何变为0或是空

这不是bug吧



--  作者:有点甜
--  发布时间:2014/1/8 20:47:00
--  
 在按钮里直接赋值就行了

e.Form.Controls("合计金额").Text = ""

--  作者:zyys2813
--  发布时间:2014/1/8 20:56:00
--  
嗯,好了,太感谢您了 有点甜 老师