Foxtable(狐表)用户栏目专家坐堂 → [求助]RaiseDataColChanged的问题


  共有8966人关注过本帖平板打印复制链接

主题:[求助]RaiseDataColChanged的问题

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


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]RaiseDataColChanged的问题  发帖心情 Post By:2012/11/27 11:05:00 [只看该作者]

材料库存问题 。

有一个入库表,及它的关联表入库表.入库明细。入库表的金额=其明细的金额合计(不用表达式计算)
入库表.入库明细的datacolchanged中有计算明细金额及重置入库表的代码
select case e.datacol.name
case "数量",“单价”
        e.datarow("金额") = e.datarow("数量")*e.datarow("单价")
        DataTables("入库表").DataCols("编号").RaiseDataColChanged()
end select


设计一个选择材料目录的模式窗口,批量向入库表.入库明细中添加数据。
现在批量添加数据已经完成,问题出在计算入库明细的金额、以及入库表的金额合计上。

从窗口选择了材料并输入了材料的入库数量、单价之后,点添加按钮,关闭窗口,在入库表.入库明细的界面上,材料是加上了,但金额并不执行计算,手工去选择“数量”或“单价”列,重置,才会计算明细金额及入库表的金额合计

于是去窗口中的BeforeClose事件中,增加代码
Tables(" 入库表.入库明细 ").Cols("数量").DataCol.RaiseDataColChanged()

这样,倒是可以在关闭窗口之后,金额自动计算了。

新问题出现:即使我这次只增加了一种材料,点了窗口的关闭按钮,总有那么六七秒钟,界面呈假死状态,把这段代码放到窗口的AfterClose事件中,仍然一样。

请教:是本身重置就需要这么长时间,还是在哪里的应用出了问题?



 回到顶部