Foxtable(狐表)用户栏目专家坐堂 → 请教:这个自动计算怎么做?


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

主题:请教:这个自动计算怎么做?

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


加好友 发短信
等级:幼狐 帖子:163 积分:1486 威望:0 精华:0 注册:2017/9/22 10:58:00
请教:这个自动计算怎么做?  发帖心情 Post By:2020/12/11 15:07:00 [只看该作者]

 如图!

 
图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

 总价=数量× 单价

 我在这个表格的 DataColChanged 中写代码如下:

if e.DataCol.name="单价" Or e.DataCol.name="数量" Then
    e.DataRow("总价")=e.DataRow("单价") * e.DataRow("数量")

End If

可是,这段代码根本就不执行。

请问,我该怎么做实现自动计算功能?

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/11 15:16:00 [只看该作者]

已有数据要重置重置一次列。

另外数量和单价不能是表达式列

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


加好友 发短信
等级:幼狐 帖子:163 积分:1486 威望:0 精华:0 注册:2017/9/22 10:58:00
  发帖心情 Post By:2020/12/11 15:30:00 [只看该作者]

 不行啊,我把这个窗口的文件发给您,帮忙看看故障在哪里?

数据库使用了sqlserver。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:合同编辑窗.rar



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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/11 15:53:00 [只看该作者]

到全局表事件处理:http://www.foxtable.com/webhelp/topics/0671.htm

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


加好友 发短信
等级:幼狐 帖子:163 积分:1486 威望:0 精华:0 注册:2017/9/22 10:58:00
  发帖心情 Post By:2020/12/11 16:58:00 [只看该作者]

 全局表中写了计算,倒是实现了计算的目的。

 问题又来了,任何导致该数据表有变化的地方,这段代码都会被执行。我有没有办法知道是哪个form内的操作引起这个变化的?这样我就可以进行针对性地处理了。

 还有,我试了一下,发现 "form1"窗口中的表格 "table1" 的datatable并不是 "form1_table1" ,而是 DataSource 指定的哪个数据表。
[此贴子已经被作者于2020/12/11 17:07:29编辑过]

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/11 17:18:00 [只看该作者]

当然是 DataSource 指定的哪个数据表。

考虑改为使用fill,就是 "form1_table1"了

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


加好友 发短信
等级:幼狐 帖子:163 积分:1486 威望:0 精华:0 注册:2017/9/22 10:58:00
  发帖心情 Post By:2020/12/11 17:37:00 [只看该作者]

 我终于知道为什么在窗口表"form1_table1"中设置的“DataColChanged”代码不被执行的原因了!

 我使用datasource设置了表格
"form1_table1" 的数据源为data1,该表格的datatable就是设置的哪个data1。 但是窗口中设置的“DataColChanged”代码是datatables("form1_table1")的。也就是我压根就没有给data1设置 “DataColChanged” ,当然我想执行的代码就不能被执行了。

这种现象,除了在全局代码中设置,还能不能在窗口中设置? 有没有办法? ( 初学,受VB思维的影响太大了,抱歉。)

------------------------
做了个试验,使用fill方法,获得了datatables(
"form1_table1"), 修改表格中的数字,设置的代码
“DataColChanged” 执行了!

 回到顶部