以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求老师帮忙,1、单价列其中一行(高可靠性供电费及临时接电费)与供电容量列的乘积自动更新到单价列,2、单价列的合计数据自动更新到窗口应收金额控件内。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=46997)

--  作者:Bin
--  发布时间:2014/3/3 10:11:00
--  
请上例子.
--  作者:Bin
--  发布时间:2014/3/3 11:25:00
--  
你应收金额已经是显示合计数据了啊, 后面的看得不是很明白你的需求.
--  作者:Bin
--  发布时间:2014/3/3 11:40:00
--  
怎么没找到 可靠性供电费及临时接电费?
--  作者:Bin
--  发布时间:2014/3/3 11:54:00
--  
还是没有办法看明白,很抱歉.
--  作者:Bin
--  发布时间:2014/3/3 14:29:00
--  
当然可以啊. 可以用表达式列也可以用代码

表达式列的话设置表达式  IIF([费用类别]=\'高可靠性供电费及临时接电费\',[单价]*[供电容量],[单价])

--  作者:Bin
--  发布时间:2014/3/3 14:47:00
--  
在DataColChanged事件

select case e.datacol.name
      case "费用类别","单价","供电容量"
          if e.datarow.isnull("费用类别")=false andalso e.datarow.isnull("单价")=false andalso e.datarow.isnull("供电容量")=false then
               if e.datarow("费用类别")="高可靠性供电费及临时接电费" then
                  e.datarow("单价")=e.datarow("单价")*e.datarow("供电容量")
               end if
          end if
end select

--  作者:Bin
--  发布时间:2014/3/3 14:48:00
--  
合计数据可以利用 Compute 计算出来 http://www.foxtable.com/help/topics/0393.htm
--  作者:Bin
--  发布时间:2014/3/3 16:19:00
--  
哦,是的.会造成死循环自己算自己.

select case e.datacol.name
      case "费用类别","供电容量"
          if e.datarow.isnull("费用类别")=false andalso e.datarow.isnull("单价")=false andalso e.datarow.isnull("供电容量")=false then
               if e.datarow("费用类别")="高可靠性供电费及临时接电费" then
                  e.datarow("单价")=e.datarow("单价")*e.datarow("供电容量")
               end if
          end if
end select