以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 代码求助 A= BxD A已知,B,C 变量  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68119)

--  作者:logicsun
--  发布时间:2015/5/10 15:46:00
--  [求助] 代码求助 A= BxD A已知,B,C 变量
 DataColChanged  事件 我想实现以下功能,该怎么写代码?  是DataColChanged  事件
含税单价=牌价x折扣    可以通过输入折扣得到单价,同时又要能通过输入单价得到折扣,  牌价 是 已知固定值


我现在是用 如下代码,但是 貌似陷入循环了, 一触发改变 就 程序跳出(foxtable  自动关闭了)

图片点击可在新窗口打开查看If e.DataCol.Name = "折扣" Then \'如果是折扣列的内容发生变化.
    Dim zk As  Single = e.NewValue
    e.DataRow("含税单价") = zk * e.DataRow("牌价")
    
Else  If e.DataCol.name = "含税单价" Then \'如果是含税单价列的内容发生变化.
    Dim dj As  Single = e.NewValue
    Dim pj As Single = e.DataRow("牌价")
    e.DataRow("折扣") = pj / dj
End If

[此贴子已经被作者于2015/5/10 15:50:40编辑过]

--  作者:大红袍
--  发布时间:2015/5/10 15:56:00
--  
If e.DataCol.Name = "折扣" Then \'如果是折扣列的内容发生变化.
    Dim zk As  Single = e.NewValue
    SystemReady = False
    e.DataRow("含税单价") = zk * e.DataRow("牌价")
    SystemReady = True
Else  If e.DataCol.name = "含税单价" Then \'如果是含税单价列的内容发生变化.
    Dim dj As  Single = e.NewValue
    Dim pj As Single = e.DataRow("牌价")
    SystemReady = False
    e.DataRow("折扣") = pj / dj
    SystemReady = True
End If